Closed tyfkda closed 9 years ago
UnitySDKでは、通知アイコンを指定する方法はご用意しておりません。 ただし、内部でAndroid SDKを利用しているため、 AndroidSDKに存在するアイコン指定ができるメソッドを利用するように ソースコードを変更頂くことで指定したアイコンを表示することが可能です。
githubに公開しているUnity SDKに含まれるNCMB_push.jarのJavaソースコードを取得頂き、 アイコン設定ができるようにソースコードを変更/ビルドし、 Unityプロジェクトに再度インポートしていただければ指定したアイコンで表示することができます。
以下にソースコード変更の例を記載いたしますので、ご参考にしてください。 ※記載の手順は実施した1例です。環境に合わせて適宜読み替えてください。 ※以下はサポート対象外です。
■ アイコン設定手順(/Assets/Plugins/Android/res/drawable/notify.pngを設定する場合)
<STEP 1> アイコン画像ファイルを用意し、Unityにて以下のフォルダーに追加
/Assets/Plugins/Android/res/drawable/notify.png
<STEP 2> 以下のGithubからUnity SDKのJavaソースコードを取得
https://github.com/NIFTYCloud-mbaas/ncmb_unity/tree/master/Android
<STEP 3> Eclipseにてビルド用プロジェクト作成 +新規Androidプロジェクト作成 ・AndroidAPIが10を設定 ・Create custom launcher icon/ create activityをチェックしない +上記のJavaソースファイルをcom.nifty.cloud.mbパッケージにコピー
<STEP 4> ファイル修正 ファイル:NCMBPushProxy.java 変更前:349行
// Default Push Callback
NCMBPush.setDefaultPushCallback(UnityPlayer.currentActivity, UnityPlayer.currentActivity.getClass());
変更後:
※/Assets/Plugins/Android/res/drawable/notify.pngのファイルを指定する場合
// Default Push Callback
Context context = (Context)UnityPlayer.currentActivity;
String packageName = context.getPackageName();
int imageResourceId = context.getResources().getIdentifier("notify", "drawable", packageName);
NCMBPush.setDefaultPushCallback(UnityPlayer.currentActivity, UnityPlayer.currentActivity.getClass(), imageResourceId);
<STEP 5> jarファイルを生成 + 修正完了したら、Eclipseのプロジェクトを右クリック、Exportを選択 ・Java/JAR fileを選択 ・srcのフォルダのみチェックを入れ、Export場所を入れる(ファイル名がNCMB_push.jarを指定する) ・完了
<STEP 6> UnityプロジェクトのNCMB_push.jarを置き換え STEP 5で作成したNCMB_push.jarを以下のパスに配置してください。 /Assets/Plugins/Android/libs/NCMB_push.jar ※既存のものがある場合は上書き 再度、ビルドを行ってください
ご返答ありがとうございます、試してみます。
ご教示いただいた方法でアイコンを変更することができました、ありがとうございました。
https://github.com/tyfkda/ncmb_unity/commit/e102fe39afdfdc02c756de00c19fc72da4ca200b
UnityのアプリにNCMBのパッケージを組込み、プッシュ通知を使用しています。 Android端末でプッシュ通知を受け取ったときにステータスバーに表示されるアイコンはアプリのアイコンが使われるようですが、それをカスタマイズして別のアイコンを使用するようにすることは可能でしょうか?
なにか方法がありましたら教えていただけると助かります。よろしくお願いします。