ディープリンク

SDK がディープリンクをどのように処理するか、およびアプリケーション内でカスタムナビゲーションを実行する方法の概要

PushSDK は、通知の開封を次の方法で処理します:

  • デフォルトでは、SDK は自動的に新しい ACTION_VIEW インテントを、通知に添付されたランディング URL を使用して作成します。

  • 次を実装する場合 onPushSDKDidReceiveNotificationDestination ライフサイクルコールバックを実装すると、通知が開かれたときに必要な任意のカスタムロジックを実行できます。

URL 処理コールバックの実装

PushSDK は、購読者が通知を操作したときに呼び出されるコールバックを提供します。これらのコールバックは、通知を開いた後に購読者が適切なアクティビティへ自動的に遷移するよう実装する必要があります。

triangle-exclamation

SDK が通知の開封イベントを受信すると、アプリ内の適切なアクティビティへ購読者を遷移させるために使用できるパラメータを伴って、以下のいずれかのコールバックを呼び出そうとします。

これらのコールバックを実装するには、SDK の registerNotificationLifecycleCallbacks メソッドを使用し、その中でコールバックを実装できます。

PushSDK.registerNotificationLifecycleCallbacks(object : PNNotificationLifecycleCallbacks {
    // ここに関数のオーバーライドを追加
})

たとえば、通知にランディングURLが付与されていて、あなたの onCreate メソッドでサブスクライバーのナビゲーションを処理するコールバックを実装した場合、コードは次のようになるかもしれません:

import com.pushly.android.PushSDK
import com.pushly.android.PushSDK.PNNotificationLifecycleCallbacks
import com.pushly.android.PushSDK.PNNotificationInteraction

class MainApplication : Application() {

    override fun onCreate() {
        super.onCreate()

        PushSDK.logLevel = PNLogLevel.INFO
        PushSDK.setConfiguration(appKey = "YOUR_APP_KEY", context = this)

        PushSDK.PushNotifications.showPermissionPrompt(completion = { granted, response, error ->
            error?.let {
                println("権限リクエスト中にエラーが発生しました: $error")
                return@showNativeNotificationPermissionPrompt
            }

            println("権限が付与されました: $granted、応答: $response")
        })

        PushSDK.registerNotificationLifecycleCallbacks(object : PNNotificationLifecycleCallbacks {
            override fun onPushSDKDidReceiveNotificationDestination(
                destination: String,
                interaction: PNNotificationInteraction
            ): Boolean {
                // destination(ランディング URL)を使用して、アプリケーション内のアクティビティへ遷移する

                // SDK に対して遷移しないよう通知するために true を返す
                return true
            }
        })
    }

}

通知インタラクションコールバック

URI/URL 宛先付きで通知が開かれた場合

circle-info

添付されたランディング URL に対して、URL を直接開く方法では適切に処理できないカスタム解析や変更が必要な場合に、このコールバックを使用します。

このコールバックは、宛先のランディング URL が添付された通知が開かれたときに呼び出されます。購読者は、指定されたランディング URL を表すビューへ遷移する必要があります。

このメソッドは Boolean の応答を想定しています。応答が true の場合、SDK はこの通知の開封に対して追加のアクションを実行しません。応答が false の場合、SDK は購読者を宛先 URL へ遷移させようとします。

最終更新