Closed5

UnityにFirebaseCloudMessagingを導入し、Push通知を実装したらApplication.deepLinkActivatedが効かなくなった問題との戦い

つっちーhidev_つっちーhidev_

UnityにFirebaseCloudMessagingを導入し、Push通知を実装した。

公式に従ってMessagingUnityPlayerActivityを利用し、Push通知が届いて、リンクも処理できた。
https://firebase.google.com/docs/cloud-messaging/unity/client?hl=ja#configuring_an_android_entry_point_activity

しかし、MessagingUnityPlayerActivityを使うとApplication.deepLinkActivatedが効かなくなってしまったので、その対応をメモしておく。
https://forum.unity.com/threads/application-deeplinkactivated-doesnt-work.971268/

つっちーhidev_つっちーhidev_

下記の通りjavaファイルを用意し、Assets/Plugins/Androidに配置。

package <Unityで設定しているPackageName>;

import android.os.Bundle;
import android.content.Intent;

public class CustomUnityPlayerActivity extends com.google.firebase.MessagingUnityPlayerActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

    @Override
    protected void onResume() {
        super.onResume();
    }

    @Override
    protected void onNewIntent(Intent intent) 
    {
        this.setIntent(intent);
    	super.onNewIntent(intent);
    }
}
つっちーhidev_つっちーhidev_

同階層(Assets/Plugins/Android)のAndroidManidest.xmlで配置したファイルを指定する。
※抜粋

 <activity android:name="Unityで設定しているPackageName.CustomUnityPlayerActivity" 
           android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">
このスクラップは2022/10/26にクローズされました