{"id":13744852,"url":"https://github.com/lilili87222/admob-for-flash","last_synced_at":"2025-05-09T04:31:10.264Z","repository":{"id":41039373,"uuid":"324041215","full_name":"lilili87222/admob-for-flash","owner":"lilili87222","description":"admob ane for flash air iOS app and actionscript android app.include banner and Interstitial native Advertising.this Admob ANE suport admob 1 and admob 2,based on firebase sdk","archived":false,"fork":false,"pushed_at":"2023-05-03T05:09:55.000Z","size":74610,"stargazers_count":10,"open_issues_count":10,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-08-04T05:05:04.640Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"ActionScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lilili87222.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2020-12-24T01:55:20.000Z","updated_at":"2024-01-01T17:15:46.000Z","dependencies_parsed_at":"2024-01-15T00:12:11.043Z","dependency_job_id":"baa65501-bb58-41aa-bf66-3a1de448b67e","html_url":"https://github.com/lilili87222/admob-for-flash","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lilili87222%2Fadmob-for-flash","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lilili87222%2Fadmob-for-flash/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lilili87222%2Fadmob-for-flash/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lilili87222%2Fadmob-for-flash/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lilili87222","download_url":"https://codeload.github.com/lilili87222/admob-for-flash/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224811268,"owners_count":17373934,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-03T05:01:17.305Z","updated_at":"2025-05-09T04:31:10.258Z","avatar_url":"https://github.com/lilili87222.png","language":"ActionScript","funding_links":[],"categories":["Unsorted"],"sub_categories":["Other API"],"readme":"Admob ANE for Flash Air\n==============================\n1. [Admob ANE Description](#admob-ane-description)\n2. [Admob ANE For Air Features](#admob-ane-for-air-features)\n3. [Quick Start](#quick-start)    \n\t1.[Init Admob ANE ](#1init-admob-ane)     \n\t2.[Add Admob Banner in adobe Air App](#2add-admob-banner-in-adobe-air-app)    \n\t3.[Remove Banner](#3remove-banner)    \n\t4.[Admob Native Express Ads](#4admob-native-express-ads)    \n\t5.[Admob ANE Show Interstitial ](#5admob-ane-show-interstitial )    \n\t6.[Custom Admob Banner Ad Sizes](#6custom-admob-banner-ad-sizes)    \n\t7.[Set Admob Target Param](#7set-admob-target-param)    \n\t8.[Ad Events](#8ad-events)    \n        9.[Admob Rewarded Video](#9admob-rewarded-video)    \n\t10.[IOS  permission config](10ios--min-version-config)    \n\t11.[android permission config](#11android-permission-config)    \n\t12.[Screen size function](#12screen-size-function)    \n\t13.[ANE ID](#13ane-id)    \n4. [change log](#change-log)\n5. [Screenshots](#screenshots)\n6. [Links](#links)\n7. [License](#license)\n\n## Deprecated \nThis project is not maintain any more,you can check it out and edit or change to other project.\n\n## Admob ANE Description\nAdmob Air Native Extention(Admob ANE) provides a way to integrate admob ads in Air ios and Air Android Game and app.\nYou can use it for Air iOS and Android App with the same actionscript  code,not need any change ,not need java\nor oc.You not need Admob ANE for ios and Admob ANE for android Separate version any more with this Ane.\n\nThe Google Mobile Ads SDK is the latest generation in Google mobile advertising featuring refined ad formats and streamlined APIs for access to mobile ad networks and advertising solutions. The SDK enables Air mobile app developers to maximize their monetization in native mobile apps.\n\n\n\n\n\n## Admob ANE For Air Features\n- [x] Support IOS and Android in one ane with the same api\n- [x] Support banner(All Banner Sizes)\n- [x] Support Intersitial\n- [x] Support Rewarded Video\n- [x] Support landscape and portrait  and autoOrient\n- [x] Support AdRequest targeting methods,such as children target,test mode\n- [x] Support Air SDK 32 and Air 33\n- [x] Support IOS 8 to ios 13 \n- [x] Very simple API\n- [x] Support android x64,x86,arm，and 32,64 bit support\n\n\n## Quick Start\n#### 1.Init Admob ANE \nAdd Admob ane to air project build path , add the follow code in the script file\n```\n    import so.cuo.platform.admob.*;\n    Admob.getInstance().initAdmobSDK(new ExtraParameter());\n\n```\n#### 2.Add Admob Banner in adobe Air App \nHere is the minimal code needed to show admob banner.\n```\n    Admob.getInstance().showBanner(\"your banner ID \",AdmobSize.BANNER_320x50,AdmobPosition.BOTTOM_CENTER);\n\n```\n\nThe AdmobPosition class specifies where to place the banner. AdmobSize specifies witch size banner to show\n\n#### 3.Remove Banner \nBy default, banners are visible. To  hide a banner,\n```\n    Admob.getInstance().hideBanner();\n```\n\n\n#### 4.Admob ANE Show Interstitial \nHow to integrate Interstitial into Air ios  app or flex android app?\nHere is the minimal  code to create an interstitial.\n```\n    Admob.getInstance().cacheInterstitial(\"your Interstitial ID \"); \n```\ninterstitials need to be loaded before shown. show at an appropriate\nstopping point in your app, check that the interstitail is ready before\nshowing it:\n```\n    if (Admob.getInstance().isInterstitialReady()) {\n      Admob.getInstance().showInterstitial();\n    }\n```\n#### 5.Custom Admob Banner Ad Sizes\nIn addition to constants on _AdSize_, you can also create a custom size:\n```\n    //Create a 320x250 banner.\n    AdSize adSize = new AdSize(320, 250);\n    Admob.getInstance().showBannerAbsolute(adSize,0,30);\n```\n#### 6.Set Admob Target Param\nset Admob target param such as test Ads and children app\nIf you want to test the ads or the your app with children target,you can set with admob ANE easy\n```\n       extraParam=new ExtraParameter();\n\textraParam.testDeviceID=\"true\";\n\textraParam.isChildApp=true;//if is tagForChildDirectedTreatment,set true\n        extraParam.nonPersonalizedAds=true;//if want to load non Personalized ads set true\n\tAdmob.getInstance().showBanner(\"Your banner ID\",AdmobSize.BANNER_320x50,AdmobPosition.BOTTOM_CENTER,80,extraParam);\n```\n#### 7.Ad Events\nBoth _Banner_ and _Interstitial_ contain the many ad events that you can\nregister for.    \nHere we'll demonstrate setting ad events on a interstitial,and show interstitial when load success:\n```\n    Admob.getInstance().addEventListener(AdmobEvent.onInterstitialReceive, onAdEvent);\n\tprivate function onAdEvent(event:AdmobEvent):void\n\t{\n\t\tif (event.type == AdmobEvent.onBannerReceive)\n\t\t{\n\t\t\ttrace(event.instanceName,event.data.width, event.data.height);\n\t\t}\n\t\tif (event.type == AdmobEvent.onInterstitialReceive)\n\t\t{\n\t\t\tAdmob.getInstance().showInterstitial();\n\t\t}\n\t}\n```\n\n#### 9.Admob Rewarded Video\n _Video_ api is similar with _Interstitial_ \n    \nHere we'll demonstrate setting ad events on a video,and show video when load success:\n```\nif(admob.isVideoReady()){\n\tadmob.showVideo();\n}else{\n\tadmob.cacheVideo(videoID);\n}\n    Admob.getInstance().addEventListener(AdmobEvent.onVideoReceive, onVideoEvent);\n\tprivate function onVideoEvent(event:AdmobEvent):void\n\t{\n\t\tif (event.type == AdmobEvent.onVideoReceive)\n\t\t{\n\t\t\ttrace(\"load video success,you can show video now\");\n\t\t}\n\t\t\n\t}\n```\n\n\n\n###  10.IOS  min version config\nMinimumOSVersion is required for ios ,admob reqired ios 8 and later;GADApplicationIdentifier is required by admob 7.1 and later\n```\n\t\u003ckey\u003eMinimumOSVersion\u003c/key\u003e\n        \u003cstring\u003e12.0\u003c/string\u003e\n```\nsimple example\n```\n \u003ciPhone\u003e\n        \u003cInfoAdditions\u003e\u003c![CDATA[\n \u003ckey\u003eGADApplicationIdentifier\u003c/key\u003e\n\t\u003cstring\u003eca-app-pub-3940256099942544~1458002511\u003c/string\u003e\n\t\t\t\u003ckey\u003eUIDeviceFamily\u003c/key\u003e\n\t\t\t\u003carray\u003e\n\t\t\t\t\u003cstring\u003e1\u003c/string\u003e\n\t\t\t\t\u003cstring\u003e2\u003c/string\u003e\n\t\t\t\u003c/array\u003e\n\t\t\t\t\u003ckey\u003eMinimumOSVersion\u003c/key\u003e\n        \u003cstring\u003e12.0\u003c/string\u003e\n\t\t\t\u003ckey\u003eNSAppTransportSecurity\u003c/key\u003e\n\u003cdict\u003e\n    \u003ckey\u003eNSAllowsArbitraryLoads\u003c/key\u003e\n    \u003ctrue/\u003e\n    \u003ckey\u003eNSAllowsArbitraryLoadsForMedia\u003c/key\u003e\n    \u003ctrue/\u003e\n    \u003ckey\u003eNSAllowsArbitraryLoadsInWebContent\u003c/key\u003e\n    \u003ctrue/\u003e\n\u003c/dict\u003e\n\t\t]]\u003e\u003c/InfoAdditions\u003e\n        \u003crequestedDisplayResolution\u003ehigh\u003c/requestedDisplayResolution\u003e\n    \u003c/iPhone\u003e\n```\n\n\n### 11.android permission config\nMeta Config com.google.android.gms.ads.APPLICATION_ID  is required from admob 17\nPlease replace ca-app-pub-3940256099942544~3347511713 with your admob ID\n```\n\u003candroid\u003e\n        \u003cmanifestAdditions\u003e\u003c![CDATA[\n\t\t\t\u003cmanifest android:installLocation=\"auto\"\u003e\n\t\t\t\t\t\u003cuses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/\u003e\n\t\t\t\t\t\u003cuses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/\u003e\n\t\t\t\t\t\u003cuses-permission android:name=\"android.permission.READ_PHONE_STATE\"/\u003e\n\t\t\t\t\t\u003cuses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/\u003e\n\t\t\t\t\t\u003cuses-permission android:name=\"com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE\" /\u003e\n\t\t\t\t\t \u003capplication\u003e\n\t\t\t\t\t\t\u003cmeta-data android:name=\"com.google.android.gms.version\" android:value=\"@integer/google_play_services_version\" /\u003e\n\t\t\t\t\t      \u003cactivity android:name=\"com.google.android.gms.ads.AdActivity\" android:configChanges=\"keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize\" android:theme=\"@android:style/Theme.Translucent\"/\u003e\n\t\t\t\t\t\t\u003creceiver android:name=\"com.google.android.gms.measurement.AppMeasurementReceiver\" android:enabled=\"true\" android:exported=\"false\" \u003e\u003c/receiver\u003e\n\t\t\t\t\t       \u003creceiver android:name=\"com.google.android.gms.measurement.AppMeasurementInstallReferrerReceiver\" android:enabled=\"true\" android:exported=\"true\" android:permission=\"android.permission.INSTALL_PACKAGES\" \u003e\n\t\t\t\t\t\t\t\u003cintent-filter\u003e\n\t\t\t\t\t\t\t    \u003caction android:name=\"com.android.vending.INSTALL_REFERRER\" /\u003e\n\t\t\t\t\t\t\t\u003c/intent-filter\u003e\n\t\t\t\t\t        \u003c/receiver\u003e\n\n\t\t\t\t\t        \u003cservice android:name=\"com.google.android.gms.measurement.AppMeasurementService\" android:enabled=\"true\" android:exported=\"false\" /\u003e\n\t\t\t\t\t        \u003cservice android:name=\"com.google.android.gms.measurement.AppMeasurementJobService\" android:enabled=\"true\" android:exported=\"false\" android:permission=\"android.permission.BIND_JOB_SERVICE\" /\u003e\n\t\t\t\t\t        \u003creceiver android:name=\"com.google.android.gms.measurement.AppMeasurementReceiver\" android:enabled=\"true\" android:exported=\"false\" \u003e\u003c/receiver\u003e\n\n\t\t\t\t\t        \u003cservice android:name=\"com.google.android.gms.measurement.AppMeasurementService\" android:enabled=\"true\" android:exported=\"false\" /\u003e\n\t\t\t\t\t\t  \u003cmeta-data android:name=\"com.google.android.gms.ads.APPLICATION_ID\" android:value=\"ca-app-pub-3940256099942544~3347511713\"/\u003e\n\t\t\t\t\t\u003c/application\u003e\n\t\t\t\u003c/manifest\u003e\n\n\t\t]]\u003e\u003c/manifestAdditions\u003e\n    \u003c/android\u003e\n```\n\n### 12.Screen size function\nthis will get  screen size ,unit is dp\n```\nAdmob.getInstance().getScreenSize()\n\n```\n\n### 13.ANE ID\n```\n\u003cextensionID\u003eso.cuo.platform.admob\u003c/extensionID\u003e\n```\n\n## version 20200525\n1.update admob sdk     \n2.support last ios   and  air 33.1 \n\n\n\n## Screenshots\n![ScreenShot](https://github.com/lilili87222/admob-for-flash/blob/master/images/screen.jpg?raw=true)\n\n\n\nThis Admob ANE  was a monetization ANE plugin for Flash Air community,More people use, making the api more friendly,the plugin more stable.Thank you for feedback questions and provide advice, thank you for the support and donations.\n\n## Links\nDownload  https://github.com/lilili87222/admob-for-flash/archive/master.zip    \nadmob http://apps.admob.com    \n\n## License\n[Apache 2.0 License](http://www.apache.org/licenses/LICENSE-2.0.html)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flilili87222%2Fadmob-for-flash","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flilili87222%2Fadmob-for-flash","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flilili87222%2Fadmob-for-flash/lists"}