プッシュ通知を無効にしたユーザーに到達する方法

現代的なアプリ開発において、ユーザーがプッシュ通知をオフにしていても重要なメッセージを受け取れるようにすることは、ユーザーエクスペリエンスを向上させ、ユーザーの関与を維持する上で重要な要素となっています。EngageLabのメッセージ強化機能は、この問題を解決するためにプッシュ通知をアプリ内メッセージに変換し、ユーザーが通知を無効にしていても重要な情報を逃さないようにします。この機能は、ユーザーが通知設定を無効にしているシナリオで特に有用であり、メッセージ配信率を向上させ、ユーザーの関与を高めます。

このドキュメントでは、EngageLabのメッセージ強化機能をアプリに実装する方法を説明し、この機能を効率的に使用してユーザーエクスペリエンスを向上させるためのベストプラクティスを提供します。

メッセージ強化リマインダーとは

メッセージ強化リマインダー機能は、プッシュ通知をアプリ内メッセージに変換し、ユーザーがプッシュ通知を無効にしている場合の情報配信の問題を解決します。従来のプッシュ通知はデバイスの通知権限を必要とします。ユーザーが通知を無効にしている場合、メッセージは配信できず、ユーザーの関与に影響を及ぼします。EngageLabは、長い接続メッセージチャネルを確立することでこの制限を回避します。ユーザーのデバイスがフォアグラウンドにある場合、メッセージは自動的にアプリ内メッセージ(ポップアップ、バナーなど)に変換され、ユーザーに表示されます。

アプリでのメッセージ強化の実装

EngageLabのメッセージ強化リマインダー機能を実装するには、開発者は以下の簡単な手順に従ってSDKを構成するだけです:

1. SDKの依存関係を追加する

Androidプロジェクトのbuild.gradleファイルにEngageLab SDKを追加します:

implementation 'com.engagelab:engagelab:5.0.0'
              
              implementation 'com.engagelab:engagelab:5.0.0'

            
このコードブロックはフローティングウィンドウ内に表示されます

2. メッセージ強化機能を有効にする

EngageLab Webコンソールで、「プッシュ作成」>「詳細設定」に移動し、「メッセージ強化リマインダー」オプションを有効にします。あるいは、プッシュAPIでenhanc_messageフィールドをtrueに設定することでメッセージ強化を有効にすることもできます:

{ "from": "push", "to": "all", "body": { "platform": "android", "notification": { "android": { "title": "Your order is ready!", "alert": "Your food is on the way." } }, "options": { "enhanc_message": true // メッセージ強化表示を有効にする } } }
              
              {
    "from": "push",
    "to": "all",
    "body": {
        "platform": "android",
        "notification": {
            "android": {
                "title": "Your order is ready!",
                "alert": "Your food is on the way."
            }
        },
        "options": {
            "enhanc_message": true  // メッセージ強化表示を有効にする
        }
    }
}

            
このコードブロックはフローティングウィンドウ内に表示されます

3. 強化された通知メッセージを処理する

アプリにブロードキャストコールバックを作成し、強化されたリマインダーメッセージを受信して表示します。以下はJavaのサンプルコードです:

import com.engagelab.privates.push.api.InAppMessage; import com.engagelab.privates.common.component.MTCommonReceiver; /** * 開発者はMTCommonReceiverを継承してSDKのコールバックメソッドを取得します * <p> * すべてのコールバックはメインスレッドで実行されます */ public class UserReceiver extends MTCommonReceiver { @Override public void onInAppMessageShow(Context context, InAppMessage message) { if (message.isNotification()) { // 強化されたリマインダーメッセージを表示する(例:Toastまたはカスタムポップアップ) runOnUiThread(() -> Toast.makeText(context, message.getContent(), Toast.LENGTH_LONG).show()); } } @Override public void onInAppMessageClick(Context context, InAppMessage message) { if (message.isNotification()) { // 強化されたリマインダーメッセージのクリックを処理する(例:Toastまたはカスタムポップアップ) runOnUiThread(() -> Toast.makeText(context, message.getContent(), Toast.LENGTH_LONG).show()); } } }
              
              import com.engagelab.privates.push.api.InAppMessage;
import com.engagelab.privates.common.component.MTCommonReceiver;

/**
 * 開発者はMTCommonReceiverを継承してSDKのコールバックメソッドを取得します
 * <p>
 * すべてのコールバックはメインスレッドで実行されます
 */
public class UserReceiver extends MTCommonReceiver {
   @Override
    public void onInAppMessageShow(Context context, InAppMessage message) {
        if (message.isNotification()) {
            // 強化されたリマインダーメッセージを表示する(例:Toastまたはカスタムポップアップ)
            runOnUiThread(() -> Toast.makeText(context, message.getContent(),
                Toast.LENGTH_LONG).show());
        }
    }

    @Override
    public void onInAppMessageClick(Context context, InAppMessage message) {
        if (message.isNotification()) {
            // 強化されたリマインダーメッセージのクリックを処理する(例:Toastまたはカスタムポップアップ)
            runOnUiThread(() -> Toast.makeText(context, message.getContent(),
                Toast.LENGTH_LONG).show());
       }    
    }
}

            
このコードブロックはフローティングウィンドウ内に表示されます

4. 強化されたリマインダーメッセージ機能をテストする

EngageLabのテストモードを使用して、強化されたメッセージの表示効果を確認します。SDKはテスト用の独立したAppKeyとMaster Secretを提供しており、開発者が運用環境に影響を与えることなくテストを実行できるようにしています。コンソールで環境を切り替えることができます: alt text

上記の構成により、ユーザーが通知を無効にしている場合でも、「Your order is ready!」などのメッセージはアプリ内ポップアップとして表示され、ユーザーの関与を維持します。初心者にとっては、これはアプリのバックアップ通信戦略を追加するようなもので、簡単ですが非常に効果的です。 alt text

icon
お問い合わせ