{"id":23080879,"url":"https://github.com/appodeal/appodeal-air-plugin","last_synced_at":"2025-04-03T13:48:15.580Z","repository":{"id":30343527,"uuid":"33895927","full_name":"appodeal/appodeal-air-plugin","owner":"appodeal","description":"Appodeal AIR Native Extension","archived":false,"fork":false,"pushed_at":"2018-04-20T15:55:14.000Z","size":275736,"stargazers_count":3,"open_issues_count":4,"forks_count":1,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-02-09T02:42:54.277Z","etag":null,"topics":["air","ane","appodeal"],"latest_commit_sha":null,"homepage":"https://www.appodeal.com","language":"JavaScript","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/appodeal.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}},"created_at":"2015-04-13T21:49:29.000Z","updated_at":"2024-03-25T23:08:30.000Z","dependencies_parsed_at":"2022-07-31T22:18:01.552Z","dependency_job_id":null,"html_url":"https://github.com/appodeal/appodeal-air-plugin","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/appodeal%2Fappodeal-air-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appodeal%2Fappodeal-air-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appodeal%2Fappodeal-air-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appodeal%2Fappodeal-air-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/appodeal","download_url":"https://codeload.github.com/appodeal/appodeal-air-plugin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247014515,"owners_count":20869376,"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":["air","ane","appodeal"],"created_at":"2024-12-16T13:17:02.987Z","updated_at":"2025-04-03T13:48:15.548Z","avatar_url":"https://github.com/appodeal.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Appodeal AIR Native Extension\n\n[![](https://img.shields.io/badge/latest-android-green.svg)](https://s3-eu-west-1.amazonaws.com/appodeal-adobe-air/Appodeal-ANE-3.0.7-200418-android.zip)\n[![](https://img.shields.io/badge/latest-ios-grey.svg)](https://s3-eu-west-1.amazonaws.com/appodeal-adobe-air/Appodeal-ANE-3.0.7-200418-all.zip)\n\n## How to Build\n\n### Plugin Build Requirements:\n\n+ Adobe AIR SDK\n+ Apache Ant\n+ Flex SDK + AIR SDK\n+ IntelliJ Idea\n+ Android SDK\n+ iOS SDK and XCode\n\n### How to build plugin:\n\n+ Clone this repostory. \n+ Open project with IntelliJ Idea.\n+ Right click on actionscript-lib in project three and choose Build module 'actionscript-lib' to build main as3 library.\n+ Right click on actionscript-def in project three and choose Build module 'actionscript-def' to build dummy as3 library.\n+ Go to build→AIR Native Extension Build Scripts and run clean, then prepare, then package for packing Cross-platform extension or package_anrd for Android only extension.\n\n### Updating android part:\n\n+ Download and unzip newest Appodeal Android SDK here.\n+ Place Appodeal jar into libs folder inside android-lib folder.\n+ Update java code in android-lib module if needed.\n+ Build android artifact if something was changed in android-lib with Build→Build Artifacts...-\u003eAppodealANE:jar\n+ Place new appodeal-x.jar and all other appodeal depending libs into android/dependency folder.\n+ Update /build/platformoptions-and.xml if android libraries were updated.\n+ Android ready for ane packaging.\n\n### Updating iOS Part:\n\n+ Download and unzip newest Appodeal iOS SDK here.\n+ Place new fat iOS Appodeal SDK into ios/sdk folder.\n+ Update obj-c code in XCode project by opening Appodeal.xcodeproj inside ios folder.\n+ Choose Appodeal.ANE as target and Generic iOS Device as device target top build static library for iOS part if code was changed.\n+ Update /build/platformoptions-ios.xml if new frameworks or libraries was added/removed (change name inside dependency tag).\n+ iOS ready for ane packaging.\n\n## ANE Integration\n\n### App key\n\nObtain key for your application here: https://www.appodeal.com/apps/\n\n### Link your Admob account\n\nAppodeal yields optimal results in cooperation with Admob. To continue, you need to link your Admob account.\nIf you don't have Admob account, please sign up on Admob.com.\nTo link your Admob account to Appodeal, use the Chrome extension: \n\n[![](https://img.shields.io/badge/install-extension-red.svg)](https://chrome.google.com/webstore/detail/appodeal/cnlfcihkilpkgdlnhjonhkfjjmbpbpbj)\n\nThe extension source code is available at https://github.com/appodeal/admob-configurator.\n\nThe extension will make two changes in your Admob account. First, it will allow Appodeal to access your Admob reports over API, and second, it will create new ad units on Admob and submit them to Appodeal.\n\n### Project Configuration\n\nAdd following extensions to your descriptor file:\n\n```xml\n\u003cextensionID\u003ecom.appodeal.aneplugin\u003c/extensionID\u003e\n```\n\n### Plugin Files Integration\n\nInclude this library from folder ane/:\n\n+ Appodeal.ane\n\nAlso include files from assets folder to app build path, it should be included without \"assets\" folder as AIR already includes this files to assets folder in apk file.\n\nFlash CC/Flash Pro: go to `build settings -\u003e general -\u003e` press `\"+\"` near `\"Included Files\"` window and add files.\n\nIntelliJ Idea: go to app `settings -\u003e android` and add files to `\"Files and folder to package\"` window.\n\nFlash Builder: copy files to bin-debug for debug builds and to bin-release folder for release build. Check if this files are checked in Package Contents.\n\n### iOS Integration\n\nTo avoid a major drop in revenue publishers should turn off App Transport Security until further notice.\n\nTo ensure monetization with some adnetworks in Appodeal is not impacted, publishers should add the following to their app.xml file to allow any insecure connection:\n\n```xml\n\u003ciPhone\u003e\n    \u003cInfoAdditions\u003e\u003c![CDATA[\n        \u003ckey\u003eNSAppTransportSecurity\u003c/key\u003e\n        \u003cdict\u003e\n            \u003ckey\u003eNSAllowsArbitraryLoads\u003c/key\u003e\n            \u003ctrue/\u003e\n        \u003c/dict\u003e\n    ]]\u003e\u003c/InfoAdditions\u003e\n\u003c/iPhone\u003e\n```\n\nAdd this keys ias well, if you use this function in your app:\n\n```\n\u003ciPhone\u003e\n    \u003cInfoAdditions\u003e\u003c![CDATA[\n        \u003ckey\u003eNSBluetoothPeripheralUsageDescription\u003c/key\u003e\n           \u003cstring\u003eAdvertising\u003c/string\u003e\n        \u003ckey\u003eNSCalendarsUsageDescription\u003c/key\u003e\n           \u003cstring\u003eAdvertising\u003c/string\u003e\n        \u003ckey\u003eNSLocationWhenInUseUsageDescription\u003c/key\u003e\n           \u003cstring\u003eAdvertising\u003c/string\u003e\n        \u003ckey\u003eNSPhotoLibraryUsageDescription\u003c/key\u003e\n           \u003cstring\u003eAdvertising\u003c/string\u003e\n    ]]\u003e\u003c/InfoAdditions\u003e\n\u003c/iPhone\u003e\n```\n\nIf you are getting build error like this:\n\n```\nld: in /var/folders/41/c10lb6_n6dq3_6tld7vbcg5r0000gn/T/5e99c7f3-9ad4-43ba-a33c-7667fbae07c5/libcom.vungle.extensions.Vungle.a(VungleNetworkOperation.o), archive member 'VungleNetworkOperation.o' with length 75024 is not mach-o or llvm bitcode for architecture arm64\nld: in /var/folders/41/c10lb6_n6dq3_6tld7vbcg5r0000gn/T/5e99c7f3-9ad4-43ba-a33c-7667fbae07c5/libcom.vungle.extensions.Vungle.a(VungleNetworkOperation.o), archive member 'VungleNetworkOperation.o' with length 73152 is not mach-o or llvm bitcode for architecture armv7\nCompilation failed while executing : ld64\n```\n\nyou can fix it by installing XCode and replacing $FLEX_HOME/lib/aot/bin/ld64/ld64 with a symlink /usr/bin/ld or /Applications/Xcode.app/Contents/Developer/usr/bin/ld\n\n```\ncd \"$FLEX_HOME/lib/aot/bin/ld64\"\nmv ld64 ld64.orig\nln -s /usr/bin/ld ld64\n```\n\n### Android Integration\n\nAdd following permissions inside the manifest tag:\n\n```xml\n\u003cuses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\" /\u003e\n\u003cuses-permission android:name=\"android.permission.INTERNET\" /\u003e\n\u003cuses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\" /\u003e \u003c!--optional --\u003e\n\u003cuses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\" /\u003e \u003c!--optional --\u003e\n\u003cuses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\" /\u003e \u003c!--optional--\u003e\n```\n\nAdd contents of [this](AndroidManifestAdditions.xml) sample to manifestAdditions inside application android tag:\n\n### API References\n\n#### Ad Types\n\n+ Appodeal.INTERSTITIAL\n+ Appodeal.BANNER\n+ Appodeal.REWARDED_VIDEO\n+ Appodeal.NON_SKIPPABLE_VIDEO\n\nAd types can be combined using \"|\" operator. For example Appodeal.INTERSTITIAL | Appodeal.REWARDED_VIDEO\n\n#### SDK Initialization\n\nImport the Appodeal classes\n\n```as3\nimport com.appodeal.aneplugin.*;\n```\n\nWe recommend making a variable in your class to store a reference to the global Appodeal instance:\n\n```as3\nprivate var appodeal:Appodeal = new Appodeal();\n```\n\nTo initialize SDK, call the code like this:\n\n```as3\nvar appKey:String = \"e7e04e54ae0a8d28cff2f7e7e7d094e78b2a09743be2cc4a\";\nappodeal.initialize(appKey, adType);\n```\n\n#### Display Ad\n\nTo display ad for choosen ad type you need to call this code:\n\n```as3\nappodeal.show(adType);\n```\n\n#### Check if ad is ready\n\nFollowing method will return boolean value with ad ready status:\n\n```as3\nappodeal.isLoaded(adType);\n```\n\n#### Hide Ad\n\nFollowing method will hide ad presented on screen, applicable to BANNER only:\n\n```as3\nappodeal.hide(adType);\n```\n\n#### Advanced Features\n\nEnabling test mode:\n\n```as3\nappodeal.setTesting(true);\n```\n\nChecking if loaded ad is precache:\n\n```as3\nappodeal.isPrecache(adType);\n```\n\nManual ad caching:\n\n```as3\nappodeal.cache(adType);\n```\n\nYou should disable automatic caching before SDK initialization using:\n\n```as3\nappodeal.setAutoCache(adType, false)\n```\n\nTriggering onLoaded callback twice:\n\n```as3\nappodeal.setTriggerOnLoadedOnPrecache(adType, true);\n```\n\nDisabling networks:\n\n```as3\nappodeal.disableNetwork(network);\n```\n\nAvailable parameters: \"adcolony\", \"admob\", \"amazon_ads\", \"applovin\", \"appnext\", \"avocarrot\", \"chartboost\", \"facebook\", \"flurry\", \"inmobi\", \"inner-active\", \"ironsource\", \"mailru\", \"mmedia\", \"mopub\", \"mobvista\", \"ogury\", \"openx\", \"pubnative\", \"smaato\", \"startapp\", \"tapjoy\", \"unity_ads\", \"vungle\", \"yandex\".\n\nTo disable toast messages ACCESS_COARSE_LOCATION permission is missing, use the following method:\n\n```as3\nappodeal.disableLocationPermissionCheck();\n```\n\nTracking in-app purchase:\n\n```as3\nappodeal.trackInAppPurchase(amount, currencyCode);\n```\n\n#### Setting User Data\n\nTo obtain reference to the user settings set variable:\n\n```as3\nvar userSettings:UserSettings = new UserSettings();\n```\n\nSet the age of the user:\n\n```as3\nuserSettings.setAge(30);\n```\n\nSpecify gender of the user (Possible values: Gender.FEMALE, Gender.MALE, Gender.OTHER):\n\n```as3\nuserSettings.setGender(Gender.FEMALE);\n```\n\n## Changelog\n\n3.0.7 (20/04/2018)\n\n+ Appodeal Android SDK updated to 2.1.11\n+ iOS SDK updated to 2.1.10\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fappodeal%2Fappodeal-air-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fappodeal%2Fappodeal-air-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fappodeal%2Fappodeal-air-plugin/lists"}