AWS SNS MobilePush のサンプルをAndroid Studio 2.0 beta 6で動かす方法 [その他]
私は一応IT系のエンジニアでして、最近ハマったことがあったので備忘録的な意味も兼ねてココに書き記します。
同じく困っている人がいたら参考にして貰えればと思います。
AWSのサービスでプッシュ通知を送れるものがありますが、月間100万プッシュまで無料なので、
試してみようと思ったのが事の始まりです。
サンプルもAWSから提供されているし楽勝と思って始めたら、意外にAndroid Studioの使い方に
ハマったのでサンプルプログラムのインポートからビルド成功までの手順を書いていきます。
Android Studioは現時点では最新の2.0 beta 6を使用しています。
このブログはアップル製品の情報を取り扱っているのですが、今回はAndroidでの検証なのであしからず。
AWS SNS モバイルプッシュの使い方はこちらのページにあります。
https://docs.aws.amazon.com/ja_jp/sns/latest/dg/mobile-push-gcm.html
ステップ1と2はGoogle Developersで行うことなので、割愛します。
私が引っ掛かったのはステップ3で、GCMから登録ID(DeviceToken)をとるためにsnsmobilepush.zipを
ビルドして実機で実行する部分でした。
以下に手順を出来るだけ詳しく書いていきます。
少し長いので、時間があるときにどうぞ。
まずは上述のAWSのWEBサイトからsnsmobilepush.zipをダウンロードして、適当なフォルダに展開します。
続いて、Android Studioを開くと以下の画面が開きます。
Import project(Eclipse ADT, Gradle, etc.)をクリック。
するとインポートするフォルダを聞かれるので、先ほど展開したフォルダを指定します。
今回はAndroidでの検証なので、AndroidMobilePushAppを選択。
インポート先のフォルダを聞かれるのでデフォルトで次へ。
(任意で変えてもよいです。)
インポートのオプションを聞かれるので、デフォルトのまま完了をクリック。
デフォルトでは3つともチェックが入っていました。
これでインポート完了です。
サンプルなので、これでビルドして成功してくれればいいのですが、そうは行かなかったので
いくつかの設定を行います。
res/values/strings.xmlを開いて、project_numberを記入します。
ここの値は、上に書いたAWSのサイトのステップ1をやるとGoogle Developersサイトで発行されています。
※Google Developers Consoleで作成したプロジェクトを開いて「プロジェクト番号」と書かれた数字の事。
※プロジェクトIDではないので、注意です。
次に必要なSDKをインストールします。
Tools -> Android -> SDK Managerを開きます。
SDK PlatformsからAndroid 6.0(Marshmallow)を選びます。
※私はいろいろ試している間に5.1と5.0も入れました。
同じ画面内のSDK Toolsから、以下の3つを選びます。
・Android Support Library, rev 23.2
・Google Play services
・Google Repository
Applyを押してインストールが完了するのを待ちます。
無事インストールが終わったら、次はFile -> Project Structureを選びます。
Modulesのappを選び、Dependenciesタブを開きます。
右の+ボタンを押して上のキャプチャにあるライブラリを追加します。
・com.android.support:support-v4:23.2.0
・com.google.android.gms:play-services:8.4.0
OKを押して閉じます。
次にbuild.gradle(Module: app)を開きます。
dependenciesに先ほど選んだ2つが入っていればOKです。
続いて同じファイルを編集します。
修正したのは3個所。
・compileSdkVersionを18から23に変更
・minSdkVersionを8から21に変更
・targetSdkVersionを18から22に変更
minSdkVersionとtargetSdkVersionは、手元に用意できた端末がlollipopだったため
21と22にしています。
Marshmallowの端末で検証するのであれば、3つとも23でよいと思います。
修正するとSync Nowと出てくるので、クリック。しばらく待つと完了します。
次に、AndroidManifest.xmlにもminSdkVersionとtargetSdkVersionがあるので、同じ値に変更
次がビルドまで最後の手順です。
なぜかアイコンのpngが読み込んで貰えないので、一度ペイントなどで開いて
名前を付けて保存でpngファイルとして上書きします。
4つあるのですべて名前を付けて保存をやりました。
※ic_launcher.pngの4ファイルです。
ここまでですべて準備完了です。
上のメニューからBuild -> Clean Projectでビルドを実施します。
上のように「BUILD SUCCESSFUL」と出れば成功です。
後は実機を接続してRunすれば、登録IDが取得できますよ。
私はこの方法でsnsmobilepush.zipをビルドすることに成功しました。
Android Studioはあまり使ったことがなく、無駄なことをしているところもあるかもしれませんが、
一応プッシュ通知できましたので、今回はこれで良しとしています。
長い文章でしたが最後まで見てくださってありがとうございました。
同じく困っている人がいたら参考にして貰えればと思います。
AWSのサービスでプッシュ通知を送れるものがありますが、月間100万プッシュまで無料なので、
試してみようと思ったのが事の始まりです。
サンプルもAWSから提供されているし楽勝と思って始めたら、意外にAndroid Studioの使い方に
ハマったのでサンプルプログラムのインポートからビルド成功までの手順を書いていきます。
Android Studioは現時点では最新の2.0 beta 6を使用しています。
このブログはアップル製品の情報を取り扱っているのですが、今回はAndroidでの検証なのであしからず。
AWS SNS モバイルプッシュの使い方はこちらのページにあります。
https://docs.aws.amazon.com/ja_jp/sns/latest/dg/mobile-push-gcm.html
ステップ1と2はGoogle Developersで行うことなので、割愛します。
私が引っ掛かったのはステップ3で、GCMから登録ID(DeviceToken)をとるためにsnsmobilepush.zipを
ビルドして実機で実行する部分でした。
以下に手順を出来るだけ詳しく書いていきます。
少し長いので、時間があるときにどうぞ。
まずは上述のAWSのWEBサイトからsnsmobilepush.zipをダウンロードして、適当なフォルダに展開します。
続いて、Android Studioを開くと以下の画面が開きます。
Import project(Eclipse ADT, Gradle, etc.)をクリック。
するとインポートするフォルダを聞かれるので、先ほど展開したフォルダを指定します。
今回はAndroidでの検証なので、AndroidMobilePushAppを選択。
インポート先のフォルダを聞かれるのでデフォルトで次へ。
(任意で変えてもよいです。)
インポートのオプションを聞かれるので、デフォルトのまま完了をクリック。
デフォルトでは3つともチェックが入っていました。
これでインポート完了です。
サンプルなので、これでビルドして成功してくれればいいのですが、そうは行かなかったので
いくつかの設定を行います。
res/values/strings.xmlを開いて、project_numberを記入します。
ここの値は、上に書いたAWSのサイトのステップ1をやるとGoogle Developersサイトで発行されています。
※Google Developers Consoleで作成したプロジェクトを開いて「プロジェクト番号」と書かれた数字の事。
※プロジェクトIDではないので、注意です。
次に必要なSDKをインストールします。
Tools -> Android -> SDK Managerを開きます。
SDK PlatformsからAndroid 6.0(Marshmallow)を選びます。
※私はいろいろ試している間に5.1と5.0も入れました。
同じ画面内のSDK Toolsから、以下の3つを選びます。
・Android Support Library, rev 23.2
・Google Play services
・Google Repository
Applyを押してインストールが完了するのを待ちます。
無事インストールが終わったら、次はFile -> Project Structureを選びます。
Modulesのappを選び、Dependenciesタブを開きます。
右の+ボタンを押して上のキャプチャにあるライブラリを追加します。
・com.android.support:support-v4:23.2.0
・com.google.android.gms:play-services:8.4.0
OKを押して閉じます。
次にbuild.gradle(Module: app)を開きます。
dependenciesに先ほど選んだ2つが入っていればOKです。
続いて同じファイルを編集します。
修正したのは3個所。
・compileSdkVersionを18から23に変更
・minSdkVersionを8から21に変更
・targetSdkVersionを18から22に変更
minSdkVersionとtargetSdkVersionは、手元に用意できた端末がlollipopだったため
21と22にしています。
Marshmallowの端末で検証するのであれば、3つとも23でよいと思います。
修正するとSync Nowと出てくるので、クリック。しばらく待つと完了します。
次に、AndroidManifest.xmlにもminSdkVersionとtargetSdkVersionがあるので、同じ値に変更
次がビルドまで最後の手順です。
なぜかアイコンのpngが読み込んで貰えないので、一度ペイントなどで開いて
名前を付けて保存でpngファイルとして上書きします。
4つあるのですべて名前を付けて保存をやりました。
※ic_launcher.pngの4ファイルです。
ここまでですべて準備完了です。
上のメニューからBuild -> Clean Projectでビルドを実施します。
上のように「BUILD SUCCESSFUL」と出れば成功です。
後は実機を接続してRunすれば、登録IDが取得できますよ。
私はこの方法でsnsmobilepush.zipをビルドすることに成功しました。
Android Studioはあまり使ったことがなく、無駄なことをしているところもあるかもしれませんが、
一応プッシュ通知できましたので、今回はこれで良しとしています。
長い文章でしたが最後まで見てくださってありがとうございました。
関連ニュース
いいね!を押してfacebookで更新情報を受け取ろう!日々ブログ更新中
コメント 0