Ad
8: 2016-07-21 (木) 15:55:43 njf ソース バックアップ No.8 を復元して編集 現: 2019-04-25 (木) 19:27:54 njf ソース 編集
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」のみです。


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom Powered by xpWiki
Counter: 2785, today: 1, yesterday: 2
MenuBar
広告

ログイン

ユーザー名:


パスワード:





パスワード紛失

Portuguese | English | German | Greek | Japanese | Korean | Russian | T-Chinese top
NJF