8: 2016-07-21 (木) 15:55:43 njf[6] [7] [8] | 現: 2019-04-25 (木) 19:27:54 njf[6] [9] [10] | ||
---|---|---|---|
Line 2: | Line 2: | ||
まず、通常のAndroidアプリで広告を表示できないとANEを作成することはできません。ここではAndroidアプリでAdmobの広告を表示し、そこから必要なファイルを抜き出す方法を紹介します。 | まず、通常のAndroidアプリで広告を表示できないとANEを作成することはできません。ここではAndroidアプリでAdmobの広告を表示し、そこから必要なファイルを抜き出す方法を紹介します。 | ||
- | こちらの内容は「[[AndroidでのANEの作成1_Android側の作成]]」にそった方法で行いますので、そちらも参考にして下さい。 | + | こちらの内容は「[[AndroidでのANEの作成/Android側の作成]]」にそった方法で行いますので、そちらも参考にして下さい。 |
また、こちらではAdmobの広告IDを使いますので、あらかじめテスト用のAndroidのアプリの登録とそのID、バナー広告用のID、インタースティシャル広告のIDを用意しておいて下さい。 | また、こちらではAdmobの広告IDを使いますので、あらかじめテスト用のAndroidのアプリの登録とそのID、バナー広告用のID、インタースティシャル広告のIDを用意しておいて下さい。 | ||
Line 76: | Line 76: | ||
Finishボタンを押せばライブラリが作成されます。 | Finishボタンを押せばライブラリが作成されます。 | ||
- | *Google Play Servicesの追加 [#ua4e58f1] | + | *Google Play Servicesの追加 (現在は不要)[#ua4e58f1] |
+ | &font(Red){----アップデートにより、このセクションの手順は意味がなくなったので飛ばしてください-----&br;}; | ||
(この部分については[[公式ページ:https://developers.google.com/mobile-ads-sdk/docs/admob/android/quick-start?hl=ja]]も参考にして下さい。) | (この部分については[[公式ページ:https://developers.google.com/mobile-ads-sdk/docs/admob/android/quick-start?hl=ja]]も参考にして下さい。) | ||
Line 290: | Line 291: | ||
super.onCreate(savedInstanceState); | super.onCreate(savedInstanceState); | ||
setContentView(R.layout.activity_main); | setContentView(R.layout.activity_main); | ||
+ | |||
aneAdmob = new ANEAdmob(this); | aneAdmob = new ANEAdmob(this); | ||
+ | |||
aneAdmob.setAppID(APP_ID); | aneAdmob.setAppID(APP_ID); | ||
aneAdmob.setBannerID(BANNER_ID); | aneAdmob.setBannerID(BANNER_ID); | ||
aneAdmob.setInterstitialID(INTER_ID); | aneAdmob.setInterstitialID(INTER_ID); | ||
+ | |||
Button button = (Button) findViewById(R.id.showBannerBtn); | Button button = (Button) findViewById(R.id.showBannerBtn); | ||
+ | |||
assert button != null; | assert button != null; | ||
button.setOnClickListener(new View.OnClickListener() { | button.setOnClickListener(new View.OnClickListener() { | ||
Line 305: | Line 306: | ||
aneAdmob.showBanner(); | aneAdmob.showBanner(); | ||
} | } | ||
+ | |||
} | } | ||
); | ); | ||
+ | |||
button = (Button) findViewById(R.id.hideBannerBtn); | button = (Button) findViewById(R.id.hideBannerBtn); | ||
+ | |||
assert button != null; | assert button != null; | ||
button.setOnClickListener(new View.OnClickListener() { | button.setOnClickListener(new View.OnClickListener() { | ||
Line 317: | Line 318: | ||
aneAdmob.hideBanner(); | aneAdmob.hideBanner(); | ||
} | } | ||
+ | |||
} | } | ||
); | ); | ||
button = (Button) findViewById(R.id.loadInterstitialBtn); | button = (Button) findViewById(R.id.loadInterstitialBtn); | ||
+ | |||
assert button != null; | assert button != null; | ||
button.setOnClickListener(new View.OnClickListener() { | button.setOnClickListener(new View.OnClickListener() { | ||
Line 328: | Line 329: | ||
aneAdmob.loadInterstitial(); | aneAdmob.loadInterstitial(); | ||
} | } | ||
+ | |||
} | } | ||
); | ); | ||
+ | |||
button = (Button) findViewById(R.id.showInterstitialBtn); | button = (Button) findViewById(R.id.showInterstitialBtn); | ||
+ | |||
assert button != null; | assert button != null; | ||
button.setOnClickListener(new View.OnClickListener() { | button.setOnClickListener(new View.OnClickListener() { | ||
Line 340: | Line 341: | ||
aneAdmob.showInterstitial(); | aneAdmob.showInterstitial(); | ||
} | } | ||
+ | |||
} | } | ||
); | ); | ||
+ | |||
} | } | ||
Line 354: | Line 355: | ||
Android上で問題なく実行されたら、ANEにするための処理を入れます。 | Android上で問題なく実行されたら、ANEにするための処理を入れます。 | ||
- | [[こちらを参考に:http://njf.jp/cms/modules/xpwiki/?Android%E3%81%A7%E3%81%AEANE%E3%81%AE%E4%BD%9C%E6%88%901_Android%E5%81%B4%E3%81%AE%E4%BD%9C%E6%88%90#a17e7947]]FlashRuntimeExtensions.jarをaneadmobの下のlibに配置します。 | + | [[こちらを参考に:http://njf.jp/cms/modules/xpwiki/?Android%E3%81%A7%E3%81%AEANE%E3%81%AE%E4%BD%9C%E6%88%90%2FAndroid%E5%81%B4%E3%81%AE%E4%BD%9C%E6%88%90#a17e7947]]FlashRuntimeExtensions.jarをaneadmobの下のlibに配置します。 |
最終的にaneadmobのbuild.gradleのdependencies以下に次の一行が挿入されていればOKです。 | 最終的にaneadmobのbuild.gradleのdependencies以下に次の一行が挿入されていればOKです。 | ||
Line 394: | Line 395: | ||
return result; | return result; | ||
} | } | ||
+ | |||
@Override | @Override | ||
public void dispose() { | public void dispose() { | ||
+ | |||
} | } | ||
}; | }; | ||
Line 403: | Line 404: | ||
} | } | ||
- | 特に難しい部分はないはずです。分からない部分があれば「[[AndroidでのANEの作成1_Android側の作成]]」を参照してください。 | + | 特に難しい部分はないはずです。分からない部分があれば「[[AndroidでのANEの作成/Android側の作成]]」を参照してください。 |
次にANEAdmobFREFunctionのcallメソッドです。 | 次にANEAdmobFREFunctionのcallメソッドです。 | ||
Line 421: | Line 422: | ||
Log.w("njf.jp.aneadmob", "ANEAdmobFREFunction:can't parse : arg 1"); | Log.w("njf.jp.aneadmob", "ANEAdmobFREFunction:can't parse : arg 1"); | ||
} | } | ||
+ | |||
if(aneAdmob == null){ | if(aneAdmob == null){ | ||
aneAdmob = new ANEAdmob(freContext.getActivity()); | aneAdmob = new ANEAdmob(freContext.getActivity()); | ||
} | } | ||
+ | |||
if(method.equals("setAppID") && !prm.equals("")){ | if(method.equals("setAppID") && !prm.equals("")){ | ||
aneAdmob.setAppID(prm); | aneAdmob.setAppID(prm); | ||
Line 447: | Line 448: | ||
- | こちらも分からない部分があれば「[[AndroidでのANEの作成1_Android側の作成]]」を参照してください。 | + | こちらも分からない部分があれば「[[AndroidでのANEの作成/Android側の作成]]」を参照してください。 |
*jarファイルの取り出し [#re49287b] | *jarファイルの取り出し [#re49287b] | ||
- | jarファイルの取り出しについては、[[こちらの記事:http://njf.jp/cms/modules/xpwiki/?Android%E3%81%A7%E3%81%AEANE%E3%81%AE%E4%BD%9C%E6%88%901_Android%E5%81%B4%E3%81%AE%E4%BD%9C%E6%88%90#veeed4bc]]と同じです。 | + | jarファイルの取り出しについては、[[こちらの記事:http://njf.jp/cms/modules/xpwiki/?Android%E3%81%A7%E3%81%AEANE%E3%81%AE%E4%BD%9C%E6%88%90%2FAndroid%E5%81%B4%E3%81%AE%E4%BD%9C%E6%88%90#veeed4bc]]と同じです。 |
ツールバーの「Build->Rebuild Project」でビルドし直して、aneadmob-release.aarファイルを探し出し、zip解凍してください。必要なのは「classes.jar」のみです。 | ツールバーの「Build->Rebuild Project」でビルドし直して、aneadmob-release.aarファイルを探し出し、zip解凍してください。必要なのは「classes.jar」のみです。 |
(This host) = https://njf.jp