MTPush-API

MTCorePrivatesApi

  • 主に情報設定に使用されます。
  • すべてのメソッドはメインプロセスで呼び出す必要があります。メソッドが呼び出される前に子プロセスに配置されるかどうかを判断しないでください。そうしないと、呼び出しエラーが発生します。

configAppKey

  • Application.onCreate()メソッドで呼び出す必要があります
  • #initの前に呼び出してください
/** *AndroidManifest.xmlの設定を使用せずにアプリケーションキーを設定します * *Application.onCreate()メソッドで呼び出す必要があります *#initの前に呼び出してください * *@param context 空にできません *@param appKey 空にできません */ public static void configAppKey (Context context, String appKey)
              
              /**
*AndroidManifest.xmlの設定を使用せずにアプリケーションキーを設定します
*
*Application.onCreate()メソッドで呼び出す必要があります
*#initの前に呼び出してください
*
*@param context 空にできません
*@param appKey 空にできません
*/
public static void configAppKey (Context context, String appKey)

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

コード例は以下の通りです

MTCorePrivatesApi. configAppKey (this, "your appkey");
              
              MTCorePrivatesApi. configAppKey (this, "your appkey");

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

configAppChannel

  • Application.onCreate()メソッドで呼び出す必要があります
  • #initの前に呼び出してください
/** * AndroidManifest.xmlの設定を使用せずにアプリケーションチャンネルを設定します * Application.onCreate()メソッドで呼び出す必要があります * initの前に使用する必要があり、Application.onCreate内で使用する必要があります * * @param context 空にできません * @param appChannel 空にできません */ public static void configAppChannel(Context context, String appChannel)
              
                   /**
         * AndroidManifest.xmlの設定を使用せずにアプリケーションチャンネルを設定します
         * Application.onCreate()メソッドで呼び出す必要があります
         * initの前に使用する必要があり、Application.onCreate内で使用する必要があります
         *
         * @param context    空にできません
         * @param appChannel 空にできません
         */
    public static void configAppChannel(Context context, String appChannel)

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

コード例:

MTCorePrivatesApi.configAppChannel(this,"your_appChannel");
              
              MTCorePrivatesApi.configAppChannel(this,"your_appChannel");

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

configAppSiteName

  • Application.onCreate()メソッドで呼び出す必要があります
  • #initの前に呼び出してください
/** *AndroidManifest.xmlの設定を使用せずにデータセンターのサイト名を設定します *現在利用可能なノードは、Singapore、USA_Virginia、DEU_Frankfurt、HongKongです。 *Application.onCreate()メソッドで呼び出す必要があります *#initの前に呼び出してください * *@param context 空にできません *@param appSiteName 空にできません */ public static void configAppSiteName (Context context, String appSiteName)
              
              /**
*AndroidManifest.xmlの設定を使用せずにデータセンターのサイト名を設定します
*現在利用可能なノードは、Singapore、USA_Virginia、DEU_Frankfurt、HongKongです。
*Application.onCreate()メソッドで呼び出す必要があります
*#initの前に呼び出してください
*
*@param context 空にできません
*@param appSiteName 空にできません
*/
public static void configAppSiteName (Context context, String appSiteName)

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

コード例は以下の通りです

MTCorePrivatesApi. configAppSiteName (this, "Your Platform Data Center Site Name");
              
              MTCorePrivatesApi. configAppSiteName (this, "Your Platform Data Center Site Name");

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

configHeartbeatInterval">configHeartbeatInterval

  • Application.onCreate()メソッドで呼び出す必要があります
  • #initの前に呼び出してください
/** * ハートビート間隔を設定します * * Application.onCreate()メソッドで呼び出す必要があります * * @param context 空にできません * @param heartbeatInterval 時間の単位はミリ秒で、0より大きい必要があります。デフォルト値は4分50秒です\ */ public static void configHeartbeatInterval(Context context, long heartbeatInterval)
              
                   /**
      * ハートビート間隔を設定します
      *
      * Application.onCreate()メソッドで呼び出す必要があります
      *
      * @param context 空にできません
      * @param heartbeatInterval 時間の単位はミリ秒で、0より大きい必要があります。デフォルト値は4分50秒です\
      */
     public static void configHeartbeatInterval(Context context, long heartbeatInterval)

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

コード例は以下の通りです

  • デモではハートビート間隔を3分に設定しています
MTCorePrivatesApi.configHeartbeatInterval(this,3*60*1000);
              
              MTCorePrivatesApi.configHeartbeatInterval(this,3*60*1000);

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

configConnectRetryCount">configConnectRetryCount

  • Application.onCreate()メソッドで呼び出す必要があります
  • #initの前に呼び出してください
/** * 長い接続の再試行回数を設定します * * Application.onCreate()メソッドで呼び出す必要があります * * @param context 空にできません * @param connectRetryCount 再試行回数、デフォルト値は3、少なくとも3回 */ public static void configConnectRetryCount(Context context, int connectRetryCount)
              
                   /**
      * 長い接続の再試行回数を設定します
      *
      * Application.onCreate()メソッドで呼び出す必要があります
      *
      * @param context 空にできません
      * @param connectRetryCount 再試行回数、デフォルト値は3、少なくとも3回
      */
     public static void configConnectRetryCount(Context context, int connectRetryCount)

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

コード例は以下の通りです

*デモでは再接続回数を10回に設定しています

MTCorePrivatesApi.configConnectRetryCount(this,10);
              
              MTCorePrivatesApi.configConnectRetryCount(this,10);

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

setTcpSSl">setTcpSSl

  • Application.onCreate()メソッドで呼び出す必要があります
  • #initの前に呼び出してください
/** * 長い接続が暗号化されているかどうかを設定します。デフォルトでは暗号化されていません * * Application.onCreate()メソッドで呼び出す必要があります * * @param isSSL true 暗号化、false 暗号化なし */ public static void setTcpSSl(boolean isSSL)
              
                   /**
      * 長い接続が暗号化されているかどうかを設定します。デフォルトでは暗号化されていません
      *
      * Application.onCreate()メソッドで呼び出す必要があります
      *
      * @param isSSL true 暗号化、false 暗号化なし
      */
     public static void setTcpSSl(boolean isSSL)

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

コード例は以下の通りです

  • デモ設定暗号化
MTCorePrivatesApi.setTcpSSl(true);
              
              MTCorePrivatesApi.setTcpSSl(true);

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

configDebugMode

  • Application.onCreate()メソッドで呼び出す必要があります
  • #initの前に呼び出してください
  • Engagelabログ形式、"ENGAGELAB-PRIVATES"を検索します
  • Engagelabはメインプロセスと子プロセスでそれぞれログを出力します
/** * デバッグモードかどうかを設定します。デバッグモードではより詳細なログが出力されます * * Application.onCreate()メソッドで呼び出す必要があります * * @param context 空にできません * @param enable デバッグモードかどうか、trueはデバッグモード、falseはデバッグモードではありません */ public static void configDebugMode(Context context, boolean enable)
              
                   /**
      * デバッグモードかどうかを設定します。デバッグモードではより詳細なログが出力されます
      *
      * Application.onCreate()メソッドで呼び出す必要があります
      *
      * @param context 空にできません
      * @param enable デバッグモードかどうか、trueはデバッグモード、falseはデバッグモードではありません
      */
     public static void configDebugMode(Context context, boolean enable)

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

コード例は以下の通りです

  • sdkは2つのプロセス、メインプロセスと子プロセスで動作します。子プロセス名はMTCommonServiceサブクラスサービスのプロセス属性名です
  • sdkログタグは"ENGAGELAB-PRIVATES"です
  • udp/tcp/http関連の操作のログはすべて子プロセスにあります
  • したがって、メッセージがプッシュできない場合は、まずデバッグモードを有効にし、次にサブプロセスでタグ"ENGAGELAB-PRIVATES"のログを取得し、技術サポートに提供して分析してください
// アプリケーションがオンラインでない場合はtrueに設定することをお勧めします。統合に便利です MTCorePrivatesApi.configDebugMode(context.getApplicationContext(), true); // アプリケーションが起動した後はfalseに設定することをお勧めします MTCorePrivatesApi.configDebugMode(context.getApplicationContext(), false);
              
              // アプリケーションがオンラインでない場合はtrueに設定することをお勧めします。統合に便利です
MTCorePrivatesApi.configDebugMode(context.getApplicationContext(), true);

// アプリケーションが起動した後はfalseに設定することをお勧めします
MTCorePrivatesApi.configDebugMode(context.getApplicationContext(), false);

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

configSM4

  • Application.onCreate()メソッドで呼び出す必要があります
  • #initの前に呼び出してください
/** * 国密暗号化を使用するように設定します * * @param context 空にできません */ public static void configSM4(Context context)
              
                   /**
      * 国密暗号化を使用するように設定します
      *
      * @param context 空にできません
      */
     public static void configSM4(Context context)

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

サンプルコードは以下の通りです

// 国密暗号化を有効にします。呼び出されない場合、デフォルトの暗号化方法が使用されます MTCorePrivatesApi.configSM4(context.getApplicationContext());
              
                   // 国密暗号化を有効にします。呼び出されない場合、デフォルトの暗号化方法が使用されます
     MTCorePrivatesApi.configSM4(context.getApplicationContext());

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

getUserId">getUserId

戻り値が空の場合は、環境が設定されているかどうか、初期化が呼び出されているかどうかに注意してください

設定が正しいことを確認しても、まだ接続プロセス中である可能性があります。#onConnectStatusがtrueを返したときに取得できます

/** * 現在のデバイスのuserIdを取得します。これはEngagelabの一意の識別子であり、プッシュに使用できます * * @param context 空にできません * @return userId */ public static String getUserId(Context context)
              
                   /**
      * 現在のデバイスのuserIdを取得します。これはEngagelabの一意の識別子であり、プッシュに使用できます
      *
      * @param context 空にできません
      * @return userId
      */
     public static String getUserId(Context context)

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

コード例は以下の通りです

String userId = MTCorePrivatesApi. getUserId(context);
              
              String userId = MTCorePrivatesApi. getUserId(context);

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

getRegistrationId">getRegistrationId

戻り値が空の場合は、環境が設定されているかどうか、初期化が呼び出されているかどうかに注意してください

設定が正しいことを確認しても、まだ接続プロセス中である可能性があります。#onConnectStatusがtrueを返したときに取得できます

/** * 現在のデバイスのregistrationIdを取得します。Engagelabの一意の識別子であり、プッシュに使用できます * * @param context 空にできません * @return registrationId */ public static String getRegistrationId(Context context)
              
                   /**
      * 現在のデバイスのregistrationIdを取得します。Engagelabの一意の識別子であり、プッシュに使用できます
      *
      * @param context 空にできません
      * @return registrationId
      */
     public static String getRegistrationId(Context context)

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

コード例は以下の通りです

String registrationId = MTCorePrivatesApi.getRegistrationId(context);
              
              String registrationId = MTCorePrivatesApi.getRegistrationId(context);

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

setEnableResetOnDeviceChange

  • Application.onCreate() メソッド内で呼び出す必要があります
  • init の前に呼び出してください
  • デフォルトは false(無効)
/** * デバイス移行機能を設定 * 有効にすると、デバイスモデルが変更された場合、ローカルの登録IDとUID情報がクリアされ、再登録されます * デフォルトは false * * @param context Null不可 * @param enable デバイス移行を有効にするかどうか。trueで有効、falseで無効 */ public static void setEnableResetOnDeviceChange(Context context, boolean enable)
              
                  /**
     * デバイス移行機能を設定
     * 有効にすると、デバイスモデルが変更された場合、ローカルの登録IDとUID情報がクリアされ、再登録されます
     * デフォルトは false
     *
     * @param context Null不可
     * @param enable  デバイス移行を有効にするかどうか。trueで有効、falseで無効
     */
    public static void setEnableResetOnDeviceChange(Context context, boolean enable)

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

コード例:

  • デバイスモデルが変更された場合(例: デバイスのフラッシュ、デバイスの変更など)、ローカルにキャッシュされた登録情報が自動的にクリアされます
// デバイス移行機能を有効にする MTCorePrivatesApi.setEnableResetOnDeviceChange(this, true); // デバイス移行機能を無効にする(デフォルト状態) MTCorePrivatesApi.setEnableResetOnDeviceChange(this, false);
              
                      // デバイス移行機能を有効にする
        MTCorePrivatesApi.setEnableResetOnDeviceChange(this, true);
        
        // デバイス移行機能を無効にする(デフォルト状態)
        MTCorePrivatesApi.setEnableResetOnDeviceChange(this, false);

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

MTPushPrivatesApi

  • 主にプッシュ機能に使用されます
  • すべてのメソッドはメインプロセスで呼び出す必要があります。メソッドが呼び出される前にプロセスを判断して子プロセスに配置しないでください。そうしないと、呼び出しエラーが発生します

configOldPushVersion

  • バックエンドがtag: V3.5.4-newportal-20210823-gamma.57バージョンにアップグレードされていない場合、フロントエンドはこのメソッドを呼び出す必要があります。そうしないと、通知クリックジャンプに問題が発生します
  • Application.onCreate()メソッドで呼び出します
  • #initの前に呼び出してください
/** * プッシュバージョン番号を3.9.Xとして設定します * * @param context 空にできません */ public static void configOldPushVersion(Context context)
              
                   /**
      * プッシュバージョン番号を3.9.Xとして設定します
      *
      * @param context 空にできません
      */
     public static void configOldPushVersion(Context context)

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

コード例は以下の通りです:

public class ExampleApplication extends Application { @Override public void onCreate() { // デバッグモードをオンにします MTCorePrivatesApi.configDebugMode(context.getApplicationContext(), true); // 古いバージョンの通知クリックジャンプを使用します MTPushPrivatesApi.configOldPushVersion(context.getApplicationContext()); // 初期化 MTPushPrivatesApi.init(context.getApplicationContext()); } }
              
              public class ExampleApplication extends Application {

     @Override
     public void onCreate() {
         // デバッグモードをオンにします
     MTCorePrivatesApi.configDebugMode(context.getApplicationContext(), true);
     // 古いバージョンの通知クリックジャンプを使用します
     MTPushPrivatesApi.configOldPushVersion(context.getApplicationContext());
     // 初期化
         MTPushPrivatesApi.init(context.getApplicationContext());
     }
}

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

setEnablePushTextToSpeech

/** * 音声放送機能の設定、音声パッケージ(mt-sdk-sound-x.x.x.aar)をインポートする必要があります * * @param context 空にできません * @param enable trueで有効、falseで無効、デフォルトはfalse */ public static void setEnablePushTextToSpeech(Context context, boolean enable)
              
                  /**
     * 音声放送機能の設定、音声パッケージ(mt-sdk-sound-x.x.x.aar)をインポートする必要があります
     *
     * @param context      空にできません
     * @param enable trueで有効、falseで無効、デフォルトはfalse
     */
    public static void setEnablePushTextToSpeech(Context context, boolean enable)

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

サンプルコードは以下の通りです:

MTPushPrivatesApi.setEnablePushTextToSpeech(context,true);
              
                  MTPushPrivatesApi.setEnablePushTextToSpeech(context,true);   

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

init

  • Application.onCreate()メソッドで呼び出すことをお勧めします
/** * MTPushの初期化 * * Application.onCreate()メソッドで呼び出すことをお勧めします * * @param context 空にできません、applicationContextオブジェクトを使用してください */ public static void init(Context context)
              
                   /**
      * MTPushの初期化
      *
      * Application.onCreate()メソッドで呼び出すことをお勧めします
      *
      * @param context 空にできません、applicationContextオブジェクトを使用してください
      */
     public static void init(Context context)

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

コード例は以下の通りです

public class ExampleApplication extends Application { @Override public void onCreate() { // デバッグモードをオンにします MTCorePrivatesApi.configDebugMode(context.getApplicationContext(), true); // 初期化 MTPushPrivatesApi.init(context.getApplicationContext()); } }
              
              public class ExampleApplication extends Application {

     @Override
     public void onCreate() {
         // デバッグモードをオンにします
     MTCorePrivatesApi.configDebugMode(context.getApplicationContext(), true);
     // 初期化
         MTPushPrivatesApi.init(context.getApplicationContext());
     }
}

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

goToAppNotificationSettings

  • sdkを起動した後、#onNotificationStatusに従って結果をコールバックし、この言い訳を呼び出す必要があるかどうかを決定できます
/** * 通知スイッチ設定ページに移動します * * @param context 空にできません */ public static void goToAppNotificationSettings(Context context)
              
                   /**
      * 通知スイッチ設定ページに移動します
      *
      * @param context 空にできません
      */
     public static void goToAppNotificationSettings(Context context)

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

サンプルコードは以下の通りです

// 通知スイッチ設定ページに移動し、顧客が手動で通知スイッチをオンにする必要があります MTPushPrivatesApi.goToAppNotificationSettings(this); // MTCommonReceiverを継承した後、onNotificationStatusメソッドを書き換えて通知スイッチの状態を取得します。enableがtrueの場合、正常に有効になっていることを意味します @Override public void onNotificationStatus(Context context, boolean enable) { if(enable){ // 通知スイッチがオンに設定されています } }
              
                   // 通知スイッチ設定ページに移動し、顧客が手動で通知スイッチをオンにする必要があります
     MTPushPrivatesApi.goToAppNotificationSettings(this);
    
     // MTCommonReceiverを継承した後、onNotificationStatusメソッドを書き換えて通知スイッチの状態を取得します。enableがtrueの場合、正常に有効になっていることを意味します
     @Override
     public void onNotificationStatus(Context context, boolean enable) {
if(enable){
// 通知スイッチがオンに設定されています
}
     }

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

turnOnPush

  • 一般的に#turnOffPushを呼び出した後にプッシュを有効にするために使用されます
  • 繰り返し呼び出しても一度だけ有効になります。すでに有効になっている場合、再度有効になりません
  • 環境に問題がない場合、#onConnectStatusは結果をコールバックします
  • 現在サポートされているチャネル:Engagelab/Huawei/Xiaomi/Meizu/oppo/vivo
/** * Pushプッシュを有効にし、永続ストレージスイッチの状態はtrueで、デフォルトはtrueです * * @param context 空にできません */ public static void turnOnPush(Context context)
              
                   /**
      * Pushプッシュを有効にし、永続ストレージスイッチの状態はtrueで、デフォルトはtrueです
      *
      * @param context 空にできません
      */
     public static void turnOnPush(Context context)

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

コード例は以下の通りです

// プッシュをオンにします。デフォルトでオンになっています MTPushPrivatesApi.turnOnPush(context); // MTCommonReceiverを継承した後、onConnectStatusメソッドを書き換えて長い接続の接続状態を取得します。enableがtrueの場合、正常に開かれていることを意味します @Override public void onConnectStatus(Context context, boolean enable){ if(enable){ // pushプッシュを正常に有効にします } }
              
              // プッシュをオンにします。デフォルトでオンになっています
MTPushPrivatesApi.turnOnPush(context);

// MTCommonReceiverを継承した後、onConnectStatusメソッドを書き換えて長い接続の接続状態を取得します。enableがtrueの場合、正常に開かれていることを意味します
@Override
public void onConnectStatus(Context context, boolean enable){
     if(enable){
         // pushプッシュを正常に有効にします
     }
}

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

turnOffPush

  • 一般的にプッシュプッシュを閉じるために使用されます
  • プッシュプッシュを閉じた後、initを呼び出してもプッシュは開きません
  • 繰り返し呼び出しても一度だけ有効になります
  • 環境に問題がない場合、#onConnectStatusは結果をコールバックします
  • 現在サポートされているチャネル:Engagelab/Huawei/Xiaomi/Meizu/oppo/vivo
/** * プッシュプッシュをオフにし、ストレージスイッチの状態をfalseに永続化します。デフォルトはtrueです * * @param context 空にできません */ public static void turnOffPush(Context context)
              
                   /**
      * プッシュプッシュをオフにし、ストレージスイッチの状態をfalseに永続化します。デフォルトはtrueです
      *
      * @param context 空にできません
      */
     public static void turnOffPush(Context context)

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

コード例は以下の通りです

// プッシュをオフにします。再度turnOnPushを呼び出してプッシュをオンにする必要があります MTPushPrivatesApi.turnOffPush(context); // MTCommonReceiverを継承した後、onConnectStatusメソッドを書き換えて長い接続状態を取得します。enableがfalseの場合、正常に閉じられていることを意味します @Override public void onConnectStatus(Context context, boolean enable){ if(!enable){ // pushプッシュを正常に閉じます } }
              
              // プッシュをオフにします。再度turnOnPushを呼び出してプッシュをオンにする必要があります
MTPushPrivatesApi.turnOffPush(context);

// MTCommonReceiverを継承した後、onConnectStatusメソッドを書き換えて長い接続状態を取得します。enableがfalseの場合、正常に閉じられていることを意味します
@Override
public void onConnectStatus(Context context, boolean enable){
     if(!enable){
         // pushプッシュを正常に閉じます
     }
}

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

addTag

  • 最初に#initを呼び出してください。そうしないと、呼び出しは無効になります
  • 環境に問題がない場合、#onTagMessageは結果をコールバックします
/** * 指定されたタグを追加します。累積ロジック。以前に設定されたタグはまだ存在します * * @param context 空にできません * @param sequence ユーザー定義の操作シーケンス番号。操作結果と一緒に返され、操作の一意性を識別するために使用されます * @param tags タグ配列。各タグ名の長さは40バイトに制限され、最大1000タグを設定でき、単一操作の合計長は5000バイトを超えることはできません */ public static void addTag(Context context, int sequence, String... tags)
              
                   /**
      * 指定されたタグを追加します。累積ロジック。以前に設定されたタグはまだ存在します
      *
      * @param context 空にできません
      * @param sequence ユーザー定義の操作シーケンス番号。操作結果と一緒に返され、操作の一意性を識別するために使用されます
      * @param tags タグ配列。各タグ名の長さは40バイトに制限され、最大1000タグを設定でき、単一操作の合計長は5000バイトを超えることはできません
      */
     public static void addTag(Context context, int sequence, String... tags)

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

コード例は以下の通りです

// ここで定数を定義します。これは指定されたタグを追加する操作を表します private static final int SEQUENCE_TAG_ADD = 1; // タグを追加します:"china","guangdong","shenzhen" MTPushPrivatesApi.addTag(context,SEQUENCE_TAG_ADD,"china","guangdong","shenzhen") // MTCommonReceiverを継承した後、onTagMessageメソッドを書き換えてタグ操作コールバックを取得します @Override public void onTagMessage(Context context, TagMessage tagMessage){ if(tagMessage.getCode != MTPushPrivatesApi.Code.Success){ // タグ操作が失敗しました。詳細なエラー情報はMTPushPrivatesApi.Codeにあります return; } if(tagMessage.getSequence() == SEQUENCE_TAG_ADD){ // 指定されたタグが正常に追加されました。この時点で、正常に操作されたタグ配列を表示できます String[] tags = tagMessage. getTags(); } }
              
              // ここで定数を定義します。これは指定されたタグを追加する操作を表します
private static final int SEQUENCE_TAG_ADD = 1;
// タグを追加します:"china","guangdong","shenzhen"
MTPushPrivatesApi.addTag(context,SEQUENCE_TAG_ADD,"china","guangdong","shenzhen")

// MTCommonReceiverを継承した後、onTagMessageメソッドを書き換えてタグ操作コールバックを取得します
@Override
public void onTagMessage(Context context, TagMessage tagMessage){
if(tagMessage.getCode != MTPushPrivatesApi.Code.Success){
// タグ操作が失敗しました。詳細なエラー情報はMTPushPrivatesApi.Codeにあります
return;
}
if(tagMessage.getSequence() == SEQUENCE_TAG_ADD){
// 指定されたタグが正常に追加されました。この時点で、正常に操作されたタグ配列を表示できます
String[] tags = tagMessage. getTags();
}
}

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

deleteTag

  • 最初に#initを呼び出してください。そうしないと、呼び出しは無効になります
  • 環境に問題がない場合、#onTagMessageは結果をコールバックします
/** * 指定されたタグを削除します。削除ロジック。指定されたタグが削除されます * * @param context 空にできません * @param sequence ユーザー定義の操作シーケンス番号。操作結果と一緒に返され、操作の一意性を識別するために使用されます * @param tags タグ配列。各タグ名の長さは40バイトに制限され、最大1000タグを設定でき、単一操作の合計長は5000バイトを超えることはできません */ public static void deleteTag(Context context, int sequence, String... tags)
              
                   /**
      * 指定されたタグを削除します。削除ロジック。指定されたタグが削除されます
      *
      * @param context 空にできません
      * @param sequence ユーザー定義の操作シーケンス番号。操作結果と一緒に返され、操作の一意性を識別するために使用されます
      * @param tags タグ配列。各タグ名の長さは40バイトに制限され、最大1000タグを設定でき、単一操作の合計長は5000バイトを超えることはできません
      */
     public static void deleteTag(Context context, int sequence, String... tags)

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

コード例は以下の通りです:

// ここで定数を定義します。これは指定されたタグを削除する操作を表します private static final int SEQUENCE_TAG_DELETE = 2; // タグを削除します:"china","guangdong","shenzhen" MTPushPrivatesApi.deleteTag(context,SEQUENCE_TAG_DELETE,"china","guangdong","shenzhen") // MTCommonReceiverを継承した後、onTagMessageメソッドを書き換えてタグ操作コールバックを取得します @Override public void onTagMessage(Context context, TagMessage tagMessage){ if(tagMessage.getCode != MTPushPrivatesApi.Code.Success){ // タグ操作が失敗しました。詳細なエラー情報はMTPushPrivatesApi.Codeにあります return; } if(tagMessage.getSequence() == SEQUENCE_TAG_DELETE){ // 指定されたタグが正常に削除されました。この時点で、正常に操作されたタグ配列を表示できます String[] tags = tagMessage. getTags(); } }
              
              
// ここで定数を定義します。これは指定されたタグを削除する操作を表します
private static final int SEQUENCE_TAG_DELETE = 2;
// タグを削除します:"china","guangdong","shenzhen"
MTPushPrivatesApi.deleteTag(context,SEQUENCE_TAG_DELETE,"china","guangdong","shenzhen")

// MTCommonReceiverを継承した後、onTagMessageメソッドを書き換えてタグ操作コールバックを取得します
@Override
public void onTagMessage(Context context, TagMessage tagMessage){
if(tagMessage.getCode != MTPushPrivatesApi.Code.Success){
// タグ操作が失敗しました。詳細なエラー情報はMTPushPrivatesApi.Codeにあります
return;
}
if(tagMessage.getSequence() == SEQUENCE_TAG_DELETE){
// 指定されたタグが正常に削除されました。この時点で、正常に操作されたタグ配列を表示できます
String[] tags = tagMessage. getTags();
}
}

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

updateTag

  • 最初に#initを呼び出してください。そうしないと、呼び出しは無効になります
  • 環境に問題がない場合、#onTagMessageは結果をコールバックします
/** * 指定されたタグを更新します。上書きロジック。以前に追加されたタグがクリアされます * * @param context 空にできません * @param sequence ユーザー定義の操作シーケンス番号。操作結果と一緒に返され、操作の一意性を識別するために使用されます * @param tags タグ配列。各タグ名の長さは40バイトに制限され、最大1000タグを設定でき、単一操作の合計長は5000バイトを超えることはできません */ public static void updateTag(Context context, int sequence, String... tags)
              
                   /**
      * 指定されたタグを更新します。上書きロジック。以前に追加されたタグがクリアされます
      *
      * @param context 空にできません
      * @param sequence ユーザー定義の操作シーケンス番号。操作結果と一緒に返され、操作の一意性を識別するために使用されます
      * @param tags タグ配列。各タグ名の長さは40バイトに制限され、最大1000タグを設定でき、単一操作の合計長は5000バイトを超えることはできません
      */
     public static void updateTag(Context context, int sequence, String... tags)

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

コード例は以下の通りです:

// ここで定数を定義します。これは指定されたタグを更新する操作を表します private static final int SEQUENCE_TAG_UPDATE = 3; // タグを更新します:"beijing","shanghai","guangzhou","shenzhen"。以前に設定されたタグは無効になります MTPushPrivatesApi.updateTag(context,SEQUENCE_TAG_UPDATE,"beijing","shanghai","guangzhou","shenzhen") // MTCommonReceiverを継承した後、onTagMessageメソッドを書き換えてタグ操作コールバックを取得します @Override public void onTagMessage(Context context, TagMessage tagMessage){ if(tagMessage.getCode != MTPushPrivatesApi.Code.Success){ // タグ操作が失敗しました。詳細なエラー情報はMTPushPrivatesApi.Codeにあります return; } if(tagMessage.getSequence() == SEQUENCE_TAG_UPDATE){ // 指定されたタグが正常に更新されました。この時点で、正常に操作されたタグ配列を表示できます String[] tags = tagMessage. getTags(); } }
              
              // ここで定数を定義します。これは指定されたタグを更新する操作を表します
private static final int SEQUENCE_TAG_UPDATE = 3;
// タグを更新します:"beijing","shanghai","guangzhou","shenzhen"。以前に設定されたタグは無効になります
MTPushPrivatesApi.updateTag(context,SEQUENCE_TAG_UPDATE,"beijing","shanghai","guangzhou","shenzhen")

// MTCommonReceiverを継承した後、onTagMessageメソッドを書き換えてタグ操作コールバックを取得します
@Override
public void onTagMessage(Context context, TagMessage tagMessage){
if(tagMessage.getCode != MTPushPrivatesApi.Code.Success){
// タグ操作が失敗しました。詳細なエラー情報はMTPushPrivatesApi.Codeにあります
return;
}
if(tagMessage.getSequence() == SEQUENCE_TAG_UPDATE){
// 指定されたタグが正常に更新されました。この時点で、正常に操作されたタグ配列を表示できます
String[] tags = tagMessage. getTags();
}
}

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

queryTag

  • 最初に#initを呼び出してください。そうしないと、呼び出しは無効になります
  • 環境に問題がない場合、#onTagMessageは結果をコールバックします
/** * 指定されたタグをクエリします * * @param context 空にできません * @param sequence ユーザー定義の操作シーケンス番号。操作結果と一緒に返され、操作の一意性を識別するために使用されます * @param tag、各タグ名の長さは40バイトに制限されます */ public static void queryTag(Context context, int sequence, String tag)
              
                   /**
      * 指定されたタグをクエリします
      *
      * @param context 空にできません
      * @param sequence ユーザー定義の操作シーケンス番号。操作結果と一緒に返され、操作の一意性を識別するために使用されます
      * @param tag、各タグ名の長さは40バイトに制限されます
      */
     public static void queryTag(Context context, int sequence, String tag)

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

コード例は以下の通りです

// ここで定数を定義します。これは指定されたタグをクエリする操作を表します private static final int SEQUENCE_TAG_QUERY = 4; // タグをクエリします MTPushPrivatesApi.queryTag(context,SEQUENCE_TAG_QUERY,"china") // MTCommonReceiverを継承した後、onTagMessageメソッドを書き換えてタグ操作コールバックを取得します @Override public void onTagMessage(Context context, TagMessage tagMessage){ if(tagMessage.getCode != MTPushPrivatesApi.Code.Success){ // タグ操作が失敗しました。詳細なエラー情報はMTPushPrivatesApi.Codeにあります return; } if(tagMessage.getSequence() == SEQUENCE_TAG_QUERY){ // 指定されたタグが正常にクエリされました。この時点で、タグと正常に操作された状態を表示できます String tag = tagMessage. getQueryTag(); boolean valid = tagMessage.isQueryTagValid(); } }
              
              // ここで定数を定義します。これは指定されたタグをクエリする操作を表します
private static final int SEQUENCE_TAG_QUERY = 4;
// タグをクエリします
MTPushPrivatesApi.queryTag(context,SEQUENCE_TAG_QUERY,"china")

// MTCommonReceiverを継承した後、onTagMessageメソッドを書き換えてタグ操作コールバックを取得します
@Override
public void onTagMessage(Context context, TagMessage tagMessage){
if(tagMessage.getCode != MTPushPrivatesApi.Code.Success){
// タグ操作が失敗しました。詳細なエラー情報はMTPushPrivatesApi.Codeにあります
return;
}
if(tagMessage.getSequence() == SEQUENCE_TAG_QUERY){
// 指定されたタグが正常にクエリされました。この時点で、タグと正常に操作された状態を表示できます
String tag = tagMessage. getQueryTag();
boolean valid = tagMessage.isQueryTagValid();
}
}

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

deleteAllTag

  • 最初に#initを呼び出してください。そうしないと、呼び出しは無効になります
  • 環境に問題がない場合、#onTagMessageは結果をコールバックします
/** * すべてのタグを削除します。クリアロジック。すべてのタグが削除されます * * @param context 空にできません * @param sequence ユーザー定義の操作シーケンス番号。操作結果と一緒に返され、操作の一意性を識別するために使用されます */ public static void deleteAllTag(Context context, int sequence, String... tags)
              
                   /**
      * すべてのタグを削除します。クリアロジック。すべてのタグが削除されます
      *
      * @param context 空にできません
      * @param sequence ユーザー定義の操作シーケンス番号。操作結果と一緒に返され、操作の一意性を識別するために使用されます
      */
     public static void deleteAllTag(Context context, int sequence, String... tags)

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

コード例は以下の通りです:

// ここで定数を定義します。これはすべてのタグを削除する操作を表します private static final int SEQUENCE_TAG_DELETE_ALL = 5; // すべてのタグを削除します MTPushPrivatesApi.deleteTag(context,SEQUENCE_TAG_DELETE_ALL) // MTCommonReceiverを継承した後、onTagMessageメソッドを書き換えてタグ操作コールバックを取得します @Override public void onTagMessage(Context context, TagMessage tagMessage){ if(tagMessage.getCode != MTPushPrivatesApi.Code.Success){ // タグ操作が失敗しました。詳細なエラー情報はMTPushPrivatesApi.Codeにあります return; } if(tagMessage.getSequence() == SEQUENCE_TAG_DELETE_ALL){ // すべてのタグが正常に削除されました } }
              
              // ここで定数を定義します。これはすべてのタグを削除する操作を表します
private static final int SEQUENCE_TAG_DELETE_ALL = 5;
// すべてのタグを削除します
MTPushPrivatesApi.deleteTag(context,SEQUENCE_TAG_DELETE_ALL)

// MTCommonReceiverを継承した後、onTagMessageメソッドを書き換えてタグ操作コールバックを取得します
@Override
public void onTagMessage(Context context, TagMessage tagMessage){
if(tagMessage.getCode != MTPushPrivatesApi.Code.Success){
// タグ操作が失敗しました。詳細なエラー情報はMTPushPrivatesApi.Codeにあります
return;
}
if(tagMessage.getSequence() == SEQUENCE_TAG_DELETE_ALL){
// すべてのタグが正常に削除されました
}
}

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

queryAllTag

  • 最初に#initを呼び出してください。そうしないと、呼び出しは無効になります
  • 環境に問題がない場合、#onTagMessageは結果をコールバックします
/** * すべてのタグをクエリします。取得ロジック。すべてのタグを取得します * * @param context 空にできません * @param sequence ユーザー定義の操作シーケンス番号。操作結果と一緒に返され、操作の一意性を識別するために使用されます */ public static void queryAllTag(Context context, int sequence, String... tags)
              
                   /**
      * すべてのタグをクエリします。取得ロジック。すべてのタグを取得します
      *
      * @param context 空にできません
      * @param sequence ユーザー定義の操作シーケンス番号。操作結果と一緒に返され、操作の一意性を識別するために使用されます
      */
     public static void queryAllTag(Context context, int sequence, String... tags)

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

コード例は以下の通りです:

// ここで定数を定義します。これはすべてのタグをクエリする操作を表します private static final int SEQUENCE_TAG_QUERY_ALL = 6; // すべてのタグをクエリします MTPushPrivatesApi.queryAllTag(context,SEQUENCE_TAG_QUERY_ALL) // MTCommonReceiverを継承した後、onTagMessageメソッドを書き換えてタグ操作コールバックを取得します @Override public void onTagMessage(Context context, TagMessage tagMessage){ if(tagMessage.getCode != MTPushPrivatesApi.Code.Success){ // タグ操作が失敗しました。詳細なエラー情報については、MTPushPrivatesApi.Codeを参照してください return; } if(tagMessage.getSequence() == SEQUENCE_TAG_DELETE_ALL){ // すべてのタグが正常にクエリされました。この時点で、正常に操作されたタグ配列を表示できます String[] tags = tagMessage. getTags(); } }
              
              
// ここで定数を定義します。これはすべてのタグをクエリする操作を表します
private static final int SEQUENCE_TAG_QUERY_ALL = 6;
// すべてのタグをクエリします
MTPushPrivatesApi.queryAllTag(context,SEQUENCE_TAG_QUERY_ALL)

// MTCommonReceiverを継承した後、onTagMessageメソッドを書き換えてタグ操作コールバックを取得します
@Override
public void onTagMessage(Context context, TagMessage tagMessage){
if(tagMessage.getCode != MTPushPrivatesApi.Code.Success){
// タグ操作が失敗しました。詳細なエラー情報については、MTPushPrivatesApi.Codeを参照してください
return;
}
if(tagMessage.getSequence() == SEQUENCE_TAG_DELETE_ALL){
// すべてのタグが正常にクエリされました。この時点で、正常に操作されたタグ配列を表示できます
String[] tags = tagMessage. getTags();
}
}

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

setAlias

  • 最初に#initを呼び出してください。そうしないと、呼び出しは無効になります
  • 環境に問題がない場合、#onAliasMessageは結果をコールバックします
/** * エイリアスを設定します * * 同じアプリケーション内で異なるユーザーに異なるエイリアスを使用することをお勧めします。これにより、可能な限りユーザーをエイリアスで一意に識別できます * * 1つのエイリアスを1人のユーザーにのみ指定しないでください * * @param context 空にできません * @param sequence ユーザー定義の操作シーケンス番号。操作結果と一緒に返され、操作の一意性を識別するために使用されます * @param alias 有効なエイリアスの構成:文字(大文字と小文字を区別)、数字、アンダースコア、中国語の文字、特殊文字@!#$&*+=.|。制限:エイリアス名の長さは40バイトに制限されます(UTF-8エンコーディングを使用して長さを決定する必要があります) * */ public static void setAlias(Context context, int sequence, String alias)
              
                   /**
      * エイリアスを設定します
      *
      * 同じアプリケーション内で異なるユーザーに異なるエイリアスを使用することをお勧めします。これにより、可能な限りユーザーをエイリアスで一意に識別できます
      *
      * 1つのエイリアスを1人のユーザーにのみ指定しないでください
      *
      * @param context 空にできません
      * @param sequence ユーザー定義の操作シーケンス番号。操作結果と一緒に返され、操作の一意性を識別するために使用されます
      * @param alias 有効なエイリアスの構成:文字(大文字と小文字を区別)、数字、アンダースコア、中国語の文字、特殊文字@!#$&*+=.|。制限:エイリアス名の長さは40バイトに制限されます(UTF-8エンコーディングを使用して長さを決定する必要があります)
      *
      */
     public static void setAlias(Context context, int sequence, String alias)

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

サンプルコードは以下の通りです

// ここで定数を定義します。これはエイリアスを設定する操作を表します private static final int SEQUENCE_ALIAS_SET = 7; // エイリアスを設定します:"young" MTPushPrivatesApi.setAlias(context,SEQUENCE_ALIAS_SET,"young") // MTCommonReceiverを継承した後、onAliasMessageメソッドを書き換えてエイリアス操作コールバックを取得します @Override public void onAliasMessage(Context context, AliasMessage aliasMessage){ if(aliasMessage.getCode != MTPushPrivatesApi.Code.Success){ // エイリアス操作が失敗しました。詳細なエラー情報については、MTPushPrivatesApi.Codeを参照してください return; } if(aliasMessage.getSequence() == SEQUENCE_ALIAS_SET){ // エイリアスが正常に設定されました。この時点で、正常に操作されたエイリアスを表示できます String alias = aliasMessage. getAlias(); } }
              
              // ここで定数を定義します。これはエイリアスを設定する操作を表します
private static final int SEQUENCE_ALIAS_SET = 7;
// エイリアスを設定します:"young"
MTPushPrivatesApi.setAlias(context,SEQUENCE_ALIAS_SET,"young")

// MTCommonReceiverを継承した後、onAliasMessageメソッドを書き換えてエイリアス操作コールバックを取得します
@Override
public void onAliasMessage(Context context, AliasMessage aliasMessage){
if(aliasMessage.getCode != MTPushPrivatesApi.Code.Success){
// エイリアス操作が失敗しました。詳細なエラー情報については、MTPushPrivatesApi.Codeを参照してください
return;
}
if(aliasMessage.getSequence() == SEQUENCE_ALIAS_SET){
// エイリアスが正常に設定されました。この時点で、正常に操作されたエイリアスを表示できます
String alias = aliasMessage. getAlias();
}
}

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

getAlias

  • 最初に#initを呼び出してください。そうしないと、呼び出しは無効になります
  • 環境に問題がない場合、#onAliasMessageは結果をコールバックします
/** * エイリアスを取得します * * 同じアプリケーション内で異なるユーザーに異なるエイリアスを使用することをお勧めします。これにより、可能な限りユーザーをエイリアスで一意に識別できます * * 1つのエイリアスを1人のユーザーにのみ指定しないでください * * @param context 空にできません * @param sequence ユーザー定義の操作シーケンス番号。操作結果と一緒に返され、操作の一意性を識別するために使用されます */ public static void getAlias(Context context, int sequence)
              
                   /**
      * エイリアスを取得します
      *
      * 同じアプリケーション内で異なるユーザーに異なるエイリアスを使用することをお勧めします。これにより、可能な限りユーザーをエイリアスで一意に識別できます
      *
      * 1つのエイリアスを1人のユーザーにのみ指定しないでください
      *
      * @param context 空にできません
      * @param sequence ユーザー定義の操作シーケンス番号。操作結果と一緒に返され、操作の一意性を識別するために使用されます
      */
     public static void getAlias(Context context, int sequence)

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

サンプルコードは以下の通りです:

// ここで定数を定義します。これはエイリアスを取得する操作を表します private static final int SEQUENCE_ALIAS_GET = 8; // エイリアスを取得します MTPushPrivatesApi.getAlias(context,SEQUENCE_ALIAS_GET) // MTCommonReceiverを継承した後、onAliasMessageメソッドを書き換えてエイリアス操作コールバックを取得します @Override public void onAliasMessage(Context context, AliasMessage aliasMessage){ if(aliasMessage.getCode != MTPushPrivatesApi.Code.Success){ // エイリアス操作が失敗しました。詳細なエラー情報については、MTPushPrivatesApi.Codeを参照してください return; } if(aliasMessage.getSequence() == SEQUENCE_ALIAS_GET){ // エイリアスが正常に取得されました。この時点で、正常に操作されたエイリアスを表示できます String alias = aliasMessage. getAlias(); } }
              
              // ここで定数を定義します。これはエイリアスを取得する操作を表します
private static final int SEQUENCE_ALIAS_GET = 8;
// エイリアスを取得します
MTPushPrivatesApi.getAlias(context,SEQUENCE_ALIAS_GET)

// MTCommonReceiverを継承した後、onAliasMessageメソッドを書き換えてエイリアス操作コールバックを取得します
@Override
public void onAliasMessage(Context context, AliasMessage aliasMessage){
if(aliasMessage.getCode != MTPushPrivatesApi.Code.Success){
// エイリアス操作が失敗しました。詳細なエラー情報については、MTPushPrivatesApi.Codeを参照してください
return;
}
if(aliasMessage.getSequence() == SEQUENCE_ALIAS_GET){
// エイリアスが正常に取得されました。この時点で、正常に操作されたエイリアスを表示できます
String alias = aliasMessage. getAlias();
}
}

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

clearAlias

  • 最初に#initを呼び出してください。そうしないと、呼び出しは無効になります
  • 環境に問題がない場合、#onAliasMessageは結果をコールバックします
/** * エイリアスをクリアします * * 同じアプリケーション内で異なるユーザーに異なるエイリアスを使用することをお勧めします。これにより、可能な限りユーザーをエイリアスで一意に識別できます * * 1つのエイリアスを1人のユーザーにのみ指定しないでください * * @param context 空にできません * @param sequence ユーザー定義の操作シーケンス番号。操作結果と一緒に返され、操作の一意性を識別するために使用されます */ public static void clearAlias(Context context, int sequence)
              
                   /**
      * エイリアスをクリアします
      *
      * 同じアプリケーション内で異なるユーザーに異なるエイリアスを使用することをお勧めします。これにより、可能な限りユーザーをエイリアスで一意に識別できます
      *
      * 1つのエイリアスを1人のユーザーにのみ指定しないでください
      *
      * @param context 空にできません
      * @param sequence ユーザー定義の操作シーケンス番号。操作結果と一緒に返され、操作の一意性を識別するために使用されます
      */
     public static void clearAlias(Context context, int sequence)

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

サンプルコードは以下の通りです:

// ここで定数を定義します。これはエイリアスをクリアする操作を表します private static final int SEQUENCE_ALIAS_CLEAR = 7; // エイリアスをクリアします MTPushPrivatesApi.clearAlias(context,SEQUENCE_ALIAS_CLEAR) // MTCommonReceiverを継承した後、onAliasMessageメソッドを書き換えてエイリアス操作コールバックを取得します @Override public void onAliasMessage(Context context, AliasMessage aliasMessage){ if(aliasMessage.getCode != MTPushPrivatesApi.Code.Success){ // エイリアス操作が失敗しました。詳細なエラー情報については、MTPushPrivatesApi.Codeを参照してください return; } if(aliasMessage.getSequence() == SEQUENCE_ALIAS_CLEAR){ // エイリアスが正常にクリアされました } }
              
              // ここで定数を定義します。これはエイリアスをクリアする操作を表します
private static final int SEQUENCE_ALIAS_CLEAR = 7;
// エイリアスをクリアします
MTPushPrivatesApi.clearAlias(context,SEQUENCE_ALIAS_CLEAR)

// MTCommonReceiverを継承した後、onAliasMessageメソッドを書き換えてエイリアス操作コールバックを取得します
@Override
public void onAliasMessage(Context context, AliasMessage aliasMessage){
if(aliasMessage.getCode != MTPushPrivatesApi.Code.Success){
// エイリアス操作が失敗しました。詳細なエラー情報については、MTPushPrivatesApi.Codeを参照してください
return;
}
if(aliasMessage.getSequence() == SEQUENCE_ALIAS_CLEAR){
// エイリアスが正常にクリアされました
}
}

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

setNotificationShowTime

  • 最初に#initを呼び出してください。そうしないと、呼び出しは無効になります
  • 現在サポートされているチャネル:Engagelabチャネル/アプリがフォアグラウンドにあるときのgoogleチャネル(Engagelabによって表示)
/** * 通知表示時間を設定します。デフォルトではいつでも表示されます * * @param context 空にできません * @param beginHour 通知表示を許可する開始時間(24時間形式、範囲は0から23) * @param endHour 通知表示を許可する終了時間(24時間形式、範囲は0から23)、beginHourはendHour以上にすることはできません * @param weekDays 通知表示を許可する曜日配列(7日システム、範囲は1から7)、空の配列はいつでも通知が表示されないことを意味します */ public static void setNotificationShowTime(Context context, int beginHour, int endHour, int... weekDays)
              
                   /**
      * 通知表示時間を設定します。デフォルトではいつでも表示されます
      *
      * @param context 空にできません
      * @param beginHour 通知表示を許可する開始時間(24時間形式、範囲は0から23)
      * @param endHour 通知表示を許可する終了時間(24時間形式、範囲は0から23)、beginHourはendHour以上にすることはできません
      * @param weekDays 通知表示を許可する曜日配列(7日システム、範囲は1から7)、空の配列はいつでも通知が表示されないことを意味します
      */
     public static void setNotificationShowTime(Context context, int beginHour, int endHour, int... weekDays)

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

サンプルコードは以下の通りです

// 通知表示時間を毎週1/3/5/7の午前9時から午後9時に設定します MTPushPrivatesApi.setNotificationShowTime(context, 9, 21, 1,3,5,7);
              
                   // 通知表示時間を毎週1/3/5/7の午前9時から午後9時に設定します
     MTPushPrivatesApi.setNotificationShowTime(context, 9, 21, 1,3,5,7);

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

resetNotificationShowTime

  • 最初に#initを呼び出してください。そうしないと、呼び出しは無効になります
  • 現在サポートされているチャネル:Engagelabチャネル/アプリがフォアグラウンドにあるときのgoogleチャネル(Engagelabによって表示)
/** * 通知表示時間をリセットします。デフォルトではいつでも表示されます * * @param context 空にできません */ public static void resetNotificationShowTime(Context context)
              
                   /**
      * 通知表示時間をリセットします。デフォルトではいつでも表示されます
      *
      * @param context 空にできません
      */
     public static void resetNotificationShowTime(Context context)

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

サンプルコードは以下の通りです

// 通知表示時間をリセットします。デフォルトではいつでも表示されます MTPushPrivatesApi.resetNotificationShowTime(context);
              
                   // 通知表示時間をリセットします。デフォルトではいつでも表示されます
     MTPushPrivatesApi.resetNotificationShowTime(context);

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

setNotificationSilenceTime

  • 最初に#initを呼び出してください。そうしないと、呼び出しは無効になります
  • 現在サポートされているチャネル:Engagelabチャネル/アプリがフォアグラウンドにあるときのgoogleチャネル(Engagelabによって表示)
/** * 通知サイレント時間を設定します。デフォルトではいつでもサイレントになりません * * @param context 空にできません * @param beginHour 通知サイレントを許可する開始時間、時間単位(24時間形式、範囲は0から23) * @param beginMinute 通知サイレントを許可する開始時間、分単位(60分、範囲は0から59) * @param endHour 通知サイレントを許可する終了時間、時間単位(24時間形式、範囲は0から23) * @param endMinute 通知サイレントを許可する終了時間、分単位(60分、範囲は0から59) */ public static void setNotificationSilenceTime(Context context, int beginHour, int beginMinute, int endHour, int endMinute)
              
                   /**
      * 通知サイレント時間を設定します。デフォルトではいつでもサイレントになりません
      *
      * @param context 空にできません
      * @param beginHour 通知サイレントを許可する開始時間、時間単位(24時間形式、範囲は0から23)
      * @param beginMinute 通知サイレントを許可する開始時間、分単位(60分、範囲は0から59)
      * @param endHour 通知サイレントを許可する終了時間、時間単位(24時間形式、範囲は0から23)
      * @param endMinute 通知サイレントを許可する終了時間、分単位(60分、範囲は0から59)
      */
     public static void setNotificationSilenceTime(Context context, int beginHour, int beginMinute, int endHour, int endMinute)

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

サンプルコードは以下の通りです

// 通知サイレント時間を午後9時30分から翌日午前9時30分に設定します MTPushPrivatesApi.setNotificationSilenceTime(context, 21, 30, 9, 30);
              
                   // 通知サイレント時間を午後9時30分から翌日午前9時30分に設定します
     MTPushPrivatesApi.setNotificationSilenceTime(context, 21, 30, 9, 30);

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

resetNotificationSilenceTime

  • 最初に#initを呼び出してください。そうしないと、呼び出しは無効になります
  • 現在サポートされているチャネル:Engagelabチャネル/アプリがフォアグラウンドにあるときのgoogleチャネル(Engagelabによって表示)
/** * 通知サイレント時間をリセットします。デフォルトではいつでもサイレントになりません * * @param context 空にできません */ public static void resetNotificationSilenceTime(Context context)
              
                   /**
      * 通知サイレント時間をリセットします。デフォルトではいつでもサイレントになりません
      *
      * @param context 空にできません
      */
     public static void resetNotificationSilenceTime(Context context)

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

サンプルコードは以下の通りです

// 通知サイレント時間をリセットします。デフォルトではいつでもサイレントになりません MTPushPrivatesApi.resetNotificationSilenceTime(context);
              
                   // 通知サイレント時間をリセットします。デフォルトではいつでもサイレントになりません
     MTPushPrivatesApi.resetNotificationSilenceTime(context);

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

setNotificationLayout

  • 最初に#initを呼び出してください。そうしないと、呼び出しは無効になります
  • 現在サポートされているチャネル:Engagelabチャネル
/** * カスタム通知レイアウトを設定します。デフォルトではシステム通知レイアウトが使用されます * * @param context 空にできません * @param builderId ビルドID * @param notificationLayout カスタム通知レイアウトのオブジェクト、空にできません */ public static void setNotificationLayout(Context context, int builderId, NotificationLayout notificationLayout)
              
                   /**
      * カスタム通知レイアウトを設定します。デフォルトではシステム通知レイアウトが使用されます
      *
      * @param context 空にできません
      * @param builderId ビルドID
      * @param notificationLayout カスタム通知レイアウトのオブジェクト、空にできません
      */
     public static void setNotificationLayout(Context context, int builderId, NotificationLayout notificationLayout)

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

サンプルコードは以下の通りです

// ここで定数を定義します。ビルドIDを表します private static final int BUILDER_ID = 11; // notificationLayoutをビルドします NotificationLayout notificationLayout = new NotificationLayout() .setLayoutId(R.layout.custom_notification_layout) // レイアウトlayout_id .setIconViewId(R.id.iv_notification_icon) // 通知アイコンview_id .setIconResourceId(R.drawable.mtpush_notification_icon) // 通知アイコンsource_id .setTitleViewId(R.id.tv_notification_title) // 通知タイトルview_id .setContentViewId(R.id.tv_notification_content) // 通知内容view_id .setTimeViewId(R.id.tv_notification_time); // 通知時間view_id // ビルドIDがBUILDER_IDのカスタムレイアウトを設定し、通知を送信するときにbuilderIdをBUILDER_IDとして指定して通知のレイアウトを変更します MTPushPrivatesApi.setNotificationLayout(this.getApplicationContext(), BUILDER_ID, notificationLayout);
              
              // ここで定数を定義します。ビルドIDを表します
private static final int BUILDER_ID = 11;

// notificationLayoutをビルドします
     NotificationLayout notificationLayout = new NotificationLayout()
             .setLayoutId(R.layout.custom_notification_layout) // レイアウトlayout_id
             .setIconViewId(R.id.iv_notification_icon) // 通知アイコンview_id
             .setIconResourceId(R.drawable.mtpush_notification_icon) // 通知アイコンsource_id
             .setTitleViewId(R.id.tv_notification_title) // 通知タイトルview_id
             .setContentViewId(R.id.tv_notification_content) // 通知内容view_id
             .setTimeViewId(R.id.tv_notification_time); // 通知時間view_id
 
     // ビルドIDがBUILDER_IDのカスタムレイアウトを設定し、通知を送信するときにbuilderIdをBUILDER_IDとして指定して通知のレイアウトを変更します
     MTPushPrivatesApi.setNotificationLayout(this.getApplicationContext(), BUILDER_ID, notificationLayout);

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

resetNotificationLayout

  • 最初に#initを呼び出してください。そうしないと、呼び出しは無効になります
  • 現在サポートされているチャネル:Engagelabチャネル
/** * カスタム通知レイアウトをリセットします。デフォルトではシステム通知レイアウトが使用されます * * @param context 空にできません * @param builderId カスタム通知レイアウトのID */ public static void resetNotificationLayout(Context context, int builderId)
              
                   /**
      * カスタム通知レイアウトをリセットします。デフォルトではシステム通知レイアウトが使用されます
      *
      * @param context 空にできません
      * @param builderId カスタム通知レイアウトのID
      */
     public static void resetNotificationLayout(Context context, int builderId)

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

サンプルコードは以下の通りです

// ここで定数を定義します。ビルドIDを表します private static final int BUILDER_ID = 11; // ビルドIDがBUILDER_IDのカスタムレイアウトをリセットし、通知を送信するときにbuilderIdをBUILDER_IDとして指定してシステムデフォルトのレイアウトを使用します MTPushPrivatesApi.resetNotificationLayout(context,BUILDER_ID);
              
              // ここで定数を定義します。ビルドIDを表します
private static final int BUILDER_ID = 11;

     // ビルドIDがBUILDER_IDのカスタムレイアウトをリセットし、通知を送信するときにbuilderIdをBUILDER_IDとして指定してシステムデフォルトのレイアウトを使用します
     MTPushPrivatesApi.resetNotificationLayout(context,BUILDER_ID);

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

setNotificationCount

  • 最初に#initを呼び出してください。そうしないと、呼び出しは無効になります
  • 現在サポートされているチャネル:Engagelabチャネル/アプリがフォアグラウンドにあるときのgoogleチャネル(Engagelabによって表示)
/** * 通知バーの通知数を設定します。デフォルト数は5です * * @param context 空にできません * @param count 通知バーの通知数を制限します。数が制限を超えると、最も古い通知が削除されます。0以下にすることはできません */ public static void setNotificationCount(Context context, int count)
              
                   /**
      * 通知バーの通知数を設定します。デフォルト数は5です
      *
      * @param context 空にできません
      * @param count 通知バーの通知数を制限します。数が制限を超えると、最も古い通知が削除されます。0以下にすることはできません
      */
     public static void setNotificationCount(Context context, int count)

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

サンプルコードは以下の通りです

// 通知バーの通知数を50に設定します MTPushPrivatesApi.setNotificationCount(context,50);
              
                   // 通知バーの通知数を50に設定します
     MTPushPrivatesApi.setNotificationCount(context,50);

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

resetNotificationCount

  • 最初に#initを呼び出してください。そうしないと、呼び出しは無効になります
  • 現在サポートされているチャネル:Engagelabチャネル/アプリがフォアグラウンドにあるときのgoogleチャネル(Engagelabによって表示)
/** * 通知バーの通知数をリセットします。デフォルト数は5です * * @param context 空にできません */ public static void resetNotificationCount(Context context)
              
                   /**
      * 通知バーの通知数をリセットします。デフォルト数は5です
      *
      * @param context 空にできません
      */
     public static void resetNotificationCount(Context context)

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

サンプルコードは以下の通りです

// 通知バーの通知数をリセットします。デフォルト数は5です MTPushPrivatesApi.resetNotificationCount(context);
              
                   // 通知バーの通知数をリセットします。デフォルト数は5です
     MTPushPrivatesApi.resetNotificationCount(context);

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

setNotificationBadge

  • 最初に#initを呼び出してください。そうしないと、呼び出しは無効になります
/** * アプリケーションバッジの数を設定します。デフォルトは0です(Huawei/Honorのみ有効) * * @param context 空にできません * @param badge アプリケーションバッジの数 */ public static void setNotificationBadge(Context context, int badge)
              
                   /**
      * アプリケーションバッジの数を設定します。デフォルトは0です(Huawei/Honorのみ有効)
      *
      * @param context 空にできません
      * @param badge アプリケーションバッジの数
      */
     public static void setNotificationBadge(Context context, int badge)

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

サンプルコードは以下の通りです

// アプリケーションバッジの数を1に設定します MTPushPrivatesApi.setNotificationBadge(context,1);
              
                   // アプリケーションバッジの数を1に設定します
     MTPushPrivatesApi.setNotificationBadge(context,1);

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

resetNotificationBadge

  • 最初に#initを呼び出してください。そうしないと、呼び出しは無効になります
/** * アプリケーションバッジの数をリセットします。デフォルトは0です(Huawei/Honorのみ有効) * * @param context 空にできません */ public static void resetNotificationBadge(Context context) {
              
                   /**
      * アプリケーションバッジの数をリセットします。デフォルトは0です(Huawei/Honorのみ有効)
      *
      * @param context 空にできません
      */
     public static void resetNotificationBadge(Context context) {

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

サンプルコードは以下の通りです

// アプリケーションバッジの数をリセットします。デフォルトは0です MTPushPrivatesApi.resetNotificationBadge(context);
              
                   // アプリケーションバッジの数をリセットします。デフォルトは0です
     MTPushPrivatesApi.resetNotificationBadge(context);

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

showNotification

  • 最初に#initを呼び出してください。そうしないと、呼び出しは無効になります
/** * 通知を表示します * * @param context 空にできません * @param notificationMessage 構築された通知オブジェクト、空にできません */ public static void showNotification(Context context, NotificationMessage notificationMessage)
              
                   /**
      * 通知を表示します
      *
      * @param context 空にできません
      * @param notificationMessage 構築された通知オブジェクト、空にできません
      */
     public static void showNotification(Context context, NotificationMessage notificationMessage)

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

サンプルコードは以下の通りです

// 基本的な通知を構築します。messageIdとcontentは必須です。そうしないと、通知は表示されません NotificationMessage notificationMessage = new NotificationMessage() .setMessageId("12345") .setNotificationId(12345) .setTitle("custom_notification_title") .setContent("custom_notification_content"); // 通知を表示します MTPushPrivatesApi. showNotification(context, notificationMessage);
              
                   // 基本的な通知を構築します。messageIdとcontentは必須です。そうしないと、通知は表示されません
     NotificationMessage notificationMessage = new NotificationMessage()
             .setMessageId("12345")
             .setNotificationId(12345)
             .setTitle("custom_notification_title")
             .setContent("custom_notification_content");
     // 通知を表示します
     MTPushPrivatesApi. showNotification(context, notificationMessage);

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

clearNotification

  • 最初に#initを呼び出してください。そうしないと、呼び出しは無効になります
/** * 指定されたnotifyIdの通知をクリアします * * @param context 空にできません * @param notifyId 通知ID */ public static void clearNotification(Context context, int notifyId)
              
                   /**
      * 指定されたnotifyIdの通知をクリアします
      *
      * @param context 空にできません
      * @param notifyId 通知ID
      */
     public static void clearNotification(Context context, int notifyId)

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

サンプルコードは以下の通りです

// 指定されたnotifyIdの通知をクリアします MTPushPrivatesApi.clearNotification(context,12345);
              
                   // 指定されたnotifyIdの通知をクリアします
     MTPushPrivatesApi.clearNotification(context,12345);

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

reportNotificationArrived

  • 最初に#initを呼び出してください。そうしないと、呼び出しは無効になります
  • Engagelabのベンダーパッケージを統合していませんが、Engagelabに通知配信率を統計させる必要がある場合は、このインターフェースを呼び出してください
/** * ベンダーチャネル通知の到着を報告します * * http/httpsを使用して報告します * * @param context 空にできません * @param messageId EngagelabメッセージID、空にできません * @param platform ベンダー、値の範囲(1:mi, 2:huawei, 3:meizu, 4:oppo, 5:vivo, 7:honor, 8:google) * @param platformMessageId ベンダーメッセージID、空にできます */ public static void reportNotificationArrived(Context context, String messageId, byte platform, String platformMessageId)
              
                   /**
      * ベンダーチャネル通知の到着を報告します
      *
      * http/httpsを使用して報告します
      *
      * @param context 空にできません
      * @param messageId EngagelabメッセージID、空にできません
      * @param platform ベンダー、値の範囲(1:mi, 2:huawei, 3:meizu, 4:oppo, 5:vivo, 7:honor, 8:google)
      * @param platformMessageId ベンダーメッセージID、空にできます
      */
     public static void reportNotificationArrived(Context context, String messageId, byte platform, String platformMessageId)

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

サンプルコードは以下の通りです

//ベンダーの通知到着を報告します。messageIdは"12345"、ベンダーはXiaomi、ベンダーのmessageIdは"MI-6476RHT25"です MTPushPrivatesApi.reportNotificationArrived(context,"12345",MTPushPrivatesApi.PLATFORM_XIAOMI,"MI-6476RHT25");
              
                   //ベンダーの通知到着を報告します。messageIdは"12345"、ベンダーはXiaomi、ベンダーのmessageIdは"MI-6476RHT25"です
     MTPushPrivatesApi.reportNotificationArrived(context,"12345",MTPushPrivatesApi.PLATFORM_XIAOMI,"MI-6476RHT25");

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

reportNotificationClicked

  • 最初に#initを呼び出してください。そうしないと、呼び出しは無効になります
  • Engagelabのベンダーパッケージを統合していませんが、Engagelabに通知クリック率を統計させる必要がある場合は、このインターフェースを呼び出してください
/** * ベンダーチャネル通知のクリックを報告します * * http/httpsを使用して報告します * * @param context 空にできません * @param messageId EngagelabメッセージID、空にできません * @param platform ベンダー、値の範囲(1:mi, 2:huawei, 3:meizu, 4:oppo, 5:vivo, 7:honor, 8:google) * @param platformMessageId ベンダーメッセージID、空にできます */ public static void reportNotificationClicked(Context context, String messageId, byte platform, String platformMessageId)
              
                   /**
      * ベンダーチャネル通知のクリックを報告します
      *
      * http/httpsを使用して報告します
      *
      * @param context 空にできません
      * @param messageId EngagelabメッセージID、空にできません
      * @param platform ベンダー、値の範囲(1:mi, 2:huawei, 3:meizu, 4:oppo, 5:vivo, 7:honor, 8:google)
      * @param platformMessageId ベンダーメッセージID、空にできます
      */
     public static void reportNotificationClicked(Context context, String messageId, byte platform, String platformMessageId)

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

サンプルコードは以下の通りです

//ベンダーの通知クリックを報告します。messageIdは"12345"、ベンダーはXiaomi、ベンダーのmessageIdは"MI-6476RHT25"です MTPushPrivatesApi.reportNotificationClicked(context,"12345",MTPushPrivatesApi.PLATFORM_XIAOMI,"MI-6476RHT25");
              
                   //ベンダーの通知クリックを報告します。messageIdは"12345"、ベンダーはXiaomi、ベンダーのmessageIdは"MI-6476RHT25"です
     MTPushPrivatesApi.reportNotificationClicked(context,"12345",MTPushPrivatesApi.PLATFORM_XIAOMI,"MI-6476RHT25");

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

reportNotificationDeleted

  • 最初に#initを呼び出してください。そうしないと、呼び出しは無効になります
  • Engagelabのベンダーパッケージを統合していませんが、Engagelabに通知削除率を統計させる必要がある場合は、このインターフェースを呼び出してください
/** * ベンダーチャネル通知の削除を報告します * * http/httpsを使用して報告します * * @param context 空にできません * @param messageId EngagelabメッセージID、空にできません * @param platform ベンダー、値の範囲(1:mi, 2:huawei, 3:meizu, 4:oppo, 5:vivo, 7:honor, 8:google) * @param platformMessageId ベンダーメッセージID、空にできます */ public static void reportNotificationDeleted(Context context, String messageId, byte platform, String platformMessageId)
              
                   /**
      * ベンダーチャネル通知の削除を報告します
      *
      * http/httpsを使用して報告します
      *
      * @param context 空にできません
      * @param messageId EngagelabメッセージID、空にできません
      * @param platform ベンダー、値の範囲(1:mi, 2:huawei, 3:meizu, 4:oppo, 5:vivo, 7:honor, 8:google)
      * @param platformMessageId ベンダーメッセージID、空にできます
      */
     public static void reportNotificationDeleted(Context context, String messageId, byte platform, String platformMessageId)

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

サンプルコードは以下の通りです

//ベンダーの通知削除を報告します。messageIdは"12345"、ベンダーはmi、ベンダーのmessageIdは"MI-6476RHT25"です MTPushPrivatesApi.reportNotificationDeleted(context,"12345",MTPushPrivatesApi.PLATFORM_XIAOMI,"MI-6476RHT25");
              
                   //ベンダーの通知削除を報告します。messageIdは"12345"、ベンダーはmi、ベンダーのmessageIdは"MI-6476RHT25"です
     MTPushPrivatesApi.reportNotificationDeleted(context,"12345",MTPushPrivatesApi.PLATFORM_XIAOMI,"MI-6476RHT25");

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

reportNotificationOpened

  • 最初に#initを呼び出してください。そうしないと、呼び出しは無効になります
  • Engagelabのベンダーパッケージを統合していませんが、Engagelabに通知開封率を統計させる必要がある場合は、このインターフェースを呼び出してください
  • 一部のベンダー(例:huawei/oppo/vivo)には通知到着と通知クリックのコールバックがありません。通知クリックジャンプのアクティビティを設定した後、ジャンプアクティビティでパラメータを取得して報告できます。すべてのベンダーの通知クリックジャンプアクティビティを設定することをお勧めします
  • MTPush4.0.0以降のバージョンでは不要です
/** * ベンダーチャネル通知の開封を報告します * * http/httpsを使用して報告します * * @param context 空にできません * @param messageId EngagelabメッセージID、空にできません * @param platform ベンダー、値の範囲(1:mi, 2:huawei, 3:meizu, 4:oppo, 5:vivo, 7:honor, 8:google) * @param platformMessageId ベンダーメッセージID、空にできます */ public static void reportNotificationOpened(Context context, String messageId, byte platform, String platformMessageId)
              
                   /**
      * ベンダーチャネル通知の開封を報告します
      *
      * http/httpsを使用して報告します
      *
      * @param context 空にできません
      * @param messageId EngagelabメッセージID、空にできません
      * @param platform ベンダー、値の範囲(1:mi, 2:huawei, 3:meizu, 4:oppo, 5:vivo, 7:honor, 8:google)
      * @param platformMessageId ベンダーメッセージID、空にできます
      */
     public static void reportNotificationOpened(Context context, String messageId, byte platform, String platformMessageId)

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

サンプルコードは以下の通りです

Bundle bundle = intent. getExtras(); String platformMessage = ""; //huawei if (intent. getData() != null) { platformMessage = intent. getData(). toString(); } // 他のベンダー if (TextUtils. isEmpty(platformMessage) && intent. getExtras() != null) { if (bundle. containsKey("JMessageExtra")) { platformMessage = bundle. getString("JMessageExtra"); } else { platformMessage = bundle. getString("MTMessageExtra"); } } if (TextUtils. isEmpty(platformMessage)) { return; } JSONObject messageJson = new JSONObject(platformMessage); tvMessage.setText(toLogString(messageJson)); // 解析 String messageId = messageJson.optString("msg_id"); byte platform = (byte) messageJson.optInt("rom_type"); String title = messageJson. optString("n_title"); String content = messageJson. optString("n_content"); // 通知をクリックしてアクティビティを開いたことを報告します。すべてのベンダーのジャンプに追加することをお勧めします。MTPush4.0.0以下のバージョンでのみ必要です MTPushPrivatesApi. reportNotificationOpened(this, messageId, platform, "");
              
                   Bundle bundle = intent. getExtras();
     String platformMessage = "";
     //huawei
     if (intent. getData() != null) {
         platformMessage = intent. getData(). toString();
     }
     // 他のベンダー
     if (TextUtils. isEmpty(platformMessage) && intent. getExtras() != null) {
         if (bundle. containsKey("JMessageExtra")) {
              platformMessage = bundle. getString("JMessageExtra");
         } else {
              platformMessage = bundle. getString("MTMessageExtra");
         }
     }
     if (TextUtils. isEmpty(platformMessage)) {
         return;
     }
     JSONObject messageJson = new JSONObject(platformMessage);
     tvMessage.setText(toLogString(messageJson));
     // 解析
     String messageId = messageJson.optString("msg_id");
     byte platform = (byte) messageJson.optInt("rom_type");
     String title = messageJson. optString("n_title");
     String content = messageJson. optString("n_content");
     // 通知をクリックしてアクティビティを開いたことを報告します。すべてのベンダーのジャンプに追加することをお勧めします。MTPush4.0.0以下のバージョンでのみ必要です
     MTPushPrivatesApi. reportNotificationOpened(this, messageId, platform, "");

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

uploadPlatformToken

  • 最初に#initを呼び出してください。そうしないと、呼び出しは無効になります
  • tcpアップロードのため、長い接続が成功する必要があります。つまり、#onConnectStatusがtrueを返した後にこのインターフェースを呼び出します
  • Engagelabのベンダーパッケージを統合していませんが、Engagelabにベンダーメッセージをプッシュさせる必要がある場合は、このインターフェースを呼び出してください
/** * ベンダートークンをアップロードします * * tcpアップロードを行います * * @param context 空にできません * @param platform ベンダー、値の範囲(1:mi, 2:huawei, 3:meizu, 4:oppo, 5:vivo, 7:honor, 8:google) * @param token ベンダーが返したトークン、空にできません * @param region XiaomiとOppoの海外版は地域を設定する必要があります。国際版の場合は「GLOBAL」と入力し、海外版でない場合は「NULL」と入力します */ public static void uploadPlatformToken(Context context, byte platform, String token, String region)
              
                   /**
      * ベンダートークンをアップロードします
      *
      * tcpアップロードを行います
      *
      * @param context 空にできません
      * @param platform ベンダー、値の範囲(1:mi, 2:huawei, 3:meizu, 4:oppo, 5:vivo, 7:honor, 8:google)
      * @param token ベンダーが返したトークン、空にできません
      * @param region XiaomiOppoの海外版は地域を設定する必要があります。国際版の場合は「GLOBAL」と入力し、海外版でない場合は「NULL」と入力します
      */
     public static void uploadPlatformToken(Context context, byte platform, String token, String region)

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

サンプルコードは以下の通りです

//ベンダートークンを報告します。ベンダーはmi、ベンダートークンは"MI-6476s-afs-afs-afaR-HT25"です MTPushPrivatesApi.uploadPlatformToken(context,MTPushPrivatesApi.PLATFORM_XIAOMI,"MI-6476s-afs-afs-afaR-HT25","NULL");
              
                   //ベンダートークンを報告します。ベンダーはmi、ベンダートークンは"MI-6476s-afs-afs-afaR-HT25"です
     MTPushPrivatesApi.uploadPlatformToken(context,MTPushPrivatesApi.PLATFORM_XIAOMI,"MI-6476s-afs-afs-afaR-HT25","NULL");

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

clearPlatformToken

  • 最初に#initを呼び出してください。そうしないと、呼び出しは無効になります。
  • TCP接続を使用してアップロードするため、このインターフェースは長い接続が正常に確立された後、つまり#onConnectStatusのコールバック結果がtrueのときに呼び出す必要があります。
  • Engagelabのベンダーパッケージを統合していませんが、Engagelabにベンダーメッセージをプッシュさせる必要がある場合は、このインターフェースを呼び出してください。
/** * トークンをクリアします。このインターフェースを呼び出した後、トークンはuploadPlatformTokenを通じてのみ報告できます。SDKはトークンを積極的に取得して報告しなくなり、コールドスタート後にリセットされます。 * コールバックonPlatformTokenを介してリスニングします。コールバックプラットフォームが-128の場合、クリアが成功したことを意味します。 * * TCP接続が必要です。 * * @param context 空にできません。 */ public static void clearPlatformToken(Context context)
              
                  /**
     * トークンをクリアします。このインターフェースを呼び出した後、トークンはuploadPlatformTokenを通じてのみ報告できます。SDKはトークンを積極的に取得して報告しなくなり、コールドスタート後にリセットされます。
     * コールバックonPlatformTokenを介してリスニングします。コールバックプラットフォームが-128の場合、クリアが成功したことを意味します。
     * 
     * TCP接続が必要です。
     *
     * @param context  空にできません。
     */
    public static void clearPlatformToken(Context context)

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

サンプルコードは以下の通りです:

MTPushPrivatesApi.clearPlatformToken(context);
              
                  MTPushPrivatesApi.clearPlatformToken(context);

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

onFragmentResume

  • 最初に#initを呼び出してください。そうしないと、呼び出しは無効になります。
/** * @param context 空にできません * @param fragmentName Fragmentの完全なクラス名(this.getClass().getCanonicalName()) */ public static void onFragmentResume(Context context, String fragmentName)
              
              /**
 * @param context           空にできません
 * @param fragmentName      Fragmentの完全なクラス名(this.getClass().getCanonicalName())
 */
public static void onFragmentResume(Context context, String fragmentName)

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

onFragmentPause

  • 最初に#initを呼び出してください。そうしないと、呼び出しは無効になります。
/** * @param context 空にできません * @param fragmentName Fragmentの完全なクラス名(this.getClass().getCanonicalName()) */ public static void onFragmentPause(Context context, String fragmentName)
              
              /**
 * @param context           空にできません
 * @param fragmentName      Fragmentの完全なクラス名(this.getClass().getCanonicalName())
 */
public static void onFragmentPause(Context context, String fragmentName)

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

使用説明: AndroidにはFragmentを追加する4つの方法があり、各方法はFragmentの異なる処理を必要とします。以下は、これら4つの方法に基づいて指定されたFragmentのアプリ内表示を制御するための説明です。

Fragment使用方法 Fragmentのライフサイクルをリッスンできますか? JPush動的表示ページインターフェース呼び出し方法
方法1: add/show/hide ライフサイクルをリッスンできません FragmentのonFragmentResumeとonHiddenChangedを呼び出します
方法2: ViewPager ライフサイクルをリッスンできません FragmentのsetUserVisibleHintを呼び出します
方法3: replace ライフサイクルをリッスンできます FragmentのライフサイクルメソッドonResumeとonPauseを呼び出します
方法4: attach/detach ライフサイクルをリッスンできます FragmentのライフサイクルメソッドonResumeとonPauseを呼び出します
  • add/show/hide方法

    1) FragmentのonCreateViewコールバック関数で動的制御インターフェースを呼び出し、必要なパラメータを渡します。 @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { String classname = this.getClass().getCanonicalName(); MTPushPrivatesApi.onFragmentResumed(MyApplication.gContext, classname); return inflater.inflate(R.layout.black_fragment, container, false); } 2) FragmentのonHiddenChangedコールバックで動的制御インターフェースを呼び出し、必要なパラメータを渡します。 @Override public void onHiddenChanged(boolean hidden) { String classname = this.getClass().getCanonicalName(); if (!hidden) { // contextはapplication contextである必要があります MTPushPrivatesApi.onFragmentResumed(MyApplication.gContext, classname); } else { // hide MTPushPrivatesApi.onFragmentPaused(MyApplication.gContext, classname); } super.onHiddenChanged(hidden); }
                  
                  1) FragmentのonCreateViewコールバック関数で動的制御インターフェースを呼び出し、必要なパラメータを渡します。
    
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        String classname = this.getClass().getCanonicalName();
        MTPushPrivatesApi.onFragmentResumed(MyApplication.gContext, classname);
        return inflater.inflate(R.layout.black_fragment, container, false);
    }  
    
    2) FragmentのonHiddenChangedコールバックで動的制御インターフェースを呼び出し、必要なパラメータを渡します。
    
    @Override
    public void onHiddenChanged(boolean hidden) {
        String classname = this.getClass().getCanonicalName();
        if (!hidden) { // contextはapplication contextである必要があります
            MTPushPrivatesApi.onFragmentResumed(MyApplication.gContext, classname);
        } else { // hide
            MTPushPrivatesApi.onFragmentPaused(MyApplication.gContext, classname);  
        } 
        
        super.onHiddenChanged(hidden);
    }  
    
                
    このコードブロックはフローティングウィンドウ内に表示されます
  • ViewPager方法

    1) FragmentのsetUserVisibleHintコールバックで動的制御インターフェースを呼び出し、必要なパラメータを渡します。 @Override public void setUserVisibleHint(boolean isVisibleToUser) { String classname = this.getClass().getCanonicalName(); if (isVisibleToUser) { // application contextを渡します MTPushPrivatesApi.onFragmentResumed(MyApplication.gContext, classname); } else { // hide MTPushPrivatesApi.onFragmentPause(MyApplication.gContext, classname); } super.setUserVisibleHint(isVisibleToUser); }
                  
                  1) FragmentのsetUserVisibleHintコールバックで動的制御インターフェースを呼び出し、必要なパラメータを渡します。
    
    @Override
    public void setUserVisibleHint(boolean isVisibleToUser) {
        String classname = this.getClass().getCanonicalName();
        if (isVisibleToUser) {
            // application contextを渡します
            MTPushPrivatesApi.onFragmentResumed(MyApplication.gContext, classname);
        } else { // hide
            MTPushPrivatesApi.onFragmentPause(MyApplication.gContext, classname);  
        } 
        
        super.setUserVisibleHint(isVisibleToUser);
    }    
    
                
    このコードブロックはフローティングウィンドウ内に表示されます
  • replaceまたはattach/detach方法

    追加されたFragmentのライフサイクルコールバックで動的ページ設定インターフェースを呼び出します。 @Override public void onResume() { // application contextを渡します String classname = this.getClass().getCanonicalName(); MTPushPrivatesApi.onFragmentResumed(MyApplication.gContext, classname); super.onResume(); } @Override public void onPause() { String classname = this.getClass().getCanonicalName(); MTPushPrivatesApi.onFragmentPause(MyApplication.gContext, classname); super.onPause(); }
                  
                  追加されたFragmentのライフサイクルコールバックで動的ページ設定インターフェースを呼び出します。
    
    @Override
    public void onResume() { // application contextを渡します
        String classname = this.getClass().getCanonicalName();
        MTPushPrivatesApi.onFragmentResumed(MyApplication.gContext, classname);
        super.onResume();
    }
    
    @Override
    public void onPause() {
        String classname = this.getClass().getCanonicalName();
        MTPushPrivatesApi.onFragmentPause(MyApplication.gContext, classname);  
        super.onPause();
    }
    
                
    このコードブロックはフローティングウィンドウ内に表示されます

MTCommonReceiver

  • 主にメソッドコールバックに使用されます
  • このクラスのすべてのメソッドコールバックはメインプロセスにあります

onNotificationStatus

  • sdkが起動するたびに、現在の通知スイッチの状態がコールバックされます
  • 後続の通知スイッチに変更がある場合にのみコールバックされます
/** * アプリケーション通知スイッチ状態のコールバック * * @param context 空にできません * @param enable 通知スイッチがオンかどうか、trueはオン、falseはオフ */ @Override public void onNotificationStatus(Context context, boolean enable)
              
                   /**
      * アプリケーション通知スイッチ状態のコールバック
      *
      * @param context 空にできません
      * @param enable 通知スイッチがオンかどうか、trueはオン、falseはオフ
      */
     @Override
     public void onNotificationStatus(Context context, boolean enable)

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

onConnectStatus

/** * 長い接続が正常に接続されているかどうか * * 初期化後、長い接続が行われ、接続が成功または失敗したときにこのメソッドがコールバックされます * * @param context 空にできません * @param enable 長い接続が正常に接続されているかどうか、trueは成功、falseは失敗 */ public void onConnectStatus(Context context, boolean enable)
              
                   /**
      * 長い接続が正常に接続されているかどうか
      *
      * 初期化後、長い接続が行われ、接続が成功または失敗したときにこのメソッドがコールバックされます
      *
      * @param context 空にできません
      * @param enable 長い接続が正常に接続されているかどうか、trueは成功、falseは失敗
      */
public void onConnectStatus(Context context, boolean enable)

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

onNotificationArrived

  • Engagelab/Xiaomi/Meizuチャネルにはこのメソッドのコールバックがあります(googleチャネルはフォアグラウンドにある必要があります)
  • notificationMessageの詳細は#NotificationMessageを参照してください
/** * 通知メッセージが配信されました * * プッシュ通知メッセージが配信されると、このメソッドがコールバックされます * * @param context 空にできません * @param notificationMessage 通知メッセージ */ public void onNotificationArrived(Context context, NotificationMessage notificationMessage)
              
                   /**
      * 通知メッセージが配信されました
      *
      * プッシュ通知メッセージが配信されると、このメソッドがコールバックされます
      *
      * @param context 空にできません
      * @param notificationMessage 通知メッセージ
      */
     public void onNotificationArrived(Context context, NotificationMessage notificationMessage)

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

onNotificationUnShow

  • 通知がバックグラウンドで送信され、モバイルアプリがフォアグラウンドにあるときに表示されない場合、このメソッドが呼び出されます。
/** * 通知メッセージがフォアグラウンドで表示されません * * @param context 空にできません * @param notificationMessage 通知メッセージ */ @Override public void onNotificationUnShow(Context context, NotificationMessage notificationMessage)
              
                   /**
      * 通知メッセージがフォアグラウンドで表示されません
      *
      * @param context 空にできません
      * @param notificationMessage 通知メッセージ
      */
     @Override
     public void onNotificationUnShow(Context context, NotificationMessage notificationMessage)

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

onNotificationClicked

  • Engagelab/Xiaomi/Meizuチャネルにはこのメソッドのコールバックがあります(googleチャネルはフォアグラウンドにある必要があります)
  • notificationMessageの詳細は#NotificationMessageを参照してください
/** * 通知メッセージのクリック * * プッシュ通知メッセージのクリックはこのメソッドをコールバックします * * @param context 空にできません * @param notificationMessage 通知メッセージ */ public void onNotificationClicked(Context context, NotificationMessage notificationMessage)
              
                   /**
      * 通知メッセージのクリック
      *
* プッシュ通知メッセージのクリックはこのメソッドをコールバックします
*
      * @param context 空にできません
      * @param notificationMessage 通知メッセージ
      */
     public void onNotificationClicked(Context context, NotificationMessage notificationMessage)

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

onNotificationDeleted

  • Engagelabチャネルの通知メッセージ削除のみトリガーされます
  • notificationMessageの詳細は#NotificationMessageを参照してください
  • アプリケーションがデッド状態にあるときはコールバックできません
/** * 通知メッセージの削除 * * プッシュ通知メッセージの削除はこのメソッドをコールバックします * * @param context 空にできません * @param notificationMessage 通知メッセージ */ public void onNotificationDeleted(Context context, NotificationMessage notificationMessage)
              
                   /**
      * 通知メッセージの削除
      *
* プッシュ通知メッセージの削除はこのメソッドをコールバックします
*
      * @param context 空にできません
      * @param notificationMessage 通知メッセージ
      */
     public void onNotificationDeleted(Context context, NotificationMessage notificationMessage)

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

onCustomMessage

  • カスタムメッセージは通知バーに表示されません
  • Engagelabチャネルの通知メッセージ削除のみトリガーされます
  • customMessageの詳細は#CustomMessageを参照してください
/** * カスタムメッセージの配信 * * カスタムメッセージが配信されると、このメソッドがコールバックされます * * @param context 空にできません * @param customMessage カスタムメッセージ */ public void onCustomMessage(Context context, CustomMessage customMessage)
              
                   /**
      * カスタムメッセージの配信
      *
      * カスタムメッセージが配信されると、このメソッドがコールバックされます
      *
      * @param context 空にできません
      * @param customMessage カスタムメッセージ
      */
     public void onCustomMessage(Context context, CustomMessage customMessage)

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

onTagMessage

  • tagMessageの詳細は#TagMessageを参照してください
/** * tag操作メッセージ * * @param context 空にできません * @param tagMessage tag情報 */ public void onTagMessage(Context context, TagMessage tagMessage)
              
                   /**
      * tag操作メッセージ
      *
      * @param context 空にできません
      * @param tagMessage tag情報
      */
     public void onTagMessage(Context context, TagMessage tagMessage)

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

onAliasMessage

  • aliasMessageの詳細は#AliasMessageを参照してください
/** * alias操作メッセージ * * @param context ApplicationContextオブジェクト * @param aliasMessage aliasメッセージ */ public void onAliasMessage(Context context, AliasMessage aliasMessage)
              
                   /**
      * alias操作メッセージ
      *
      * @param context ApplicationContextオブジェクト
      * @param aliasMessage aliasメッセージ
      */
     public void onAliasMessage(Context context, AliasMessage aliasMessage)

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

onPlatformToken

  • ベンダートークンメッセージのコールバック
/** * ベンダー操作メッセージ * * @param context ApplicationContextオブジェクト * @param platformMessage ベンダートークンメッセージ */ public void onPlatformToken(Context context, PlatformTokenMessage platformMessage)
              
                  /**
     * ベンダー操作メッセージ
     *
     * @param context         ApplicationContextオブジェクト
     * @param platformMessage ベンダートークンメッセージ
     */
    public void onPlatformToken(Context context, PlatformTokenMessage platformMessage)

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

onInAppMessageShow

  • アプリ内メッセージ表示コールバック
/** * * * @param context ApplicationContextオブジェクト * @param inAppMessage アプリ内メッセージ */ public void onInAppMessageShow(Context context, InAppMessage inAppMessage)
              
              /**
 * 
 *
 * @param context         ApplicationContextオブジェクト
 * @param inAppMessage    アプリ内メッセージ
 */
public void onInAppMessageShow(Context context, InAppMessage inAppMessage)

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

onInAppMessageClick

  • アプリ内メッセージクリックコールバック
/** * * * @param context ApplicationContextオブジェクト * @param inAppMessage アプリ内メッセージ */ public void onInAppMessageClick(Context context, InAppMessage inAppMessage)
              
              /**
 * 
 *
 * @param context         ApplicationContextオブジェクト
 * @param inAppMessage    アプリ内メッセージ
 */
public void onInAppMessageClick(Context context, InAppMessage inAppMessage)

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

NotificationChannel 設定

サポートバージョン

サポート開始バージョン:MTPush SDK v3.3.0

機能説明

Android 8.0以降、通知はNotificationChannelsを通じて管理されます。開発者は独自のNotificationChannelsを定義し、API経由でプッシュするときに通知のchannelIdを指定できます。 Android 8.0以降のデバイスでは、通知は最初に指定されたchannelIdに対応するチャネルを検索し、通知の重要度レベル、音、振動、LEDはチャネルによって決定されます。 channelIdが見つからない場合、またはサイレント期間内にある場合は、デフォルトでengagelabチャネルになります。

カスタムNotificationChannelの例

private void initChannel(){ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); if (nm != null){ NotificationChannelGroup notificationChannelGroup = new NotificationChannelGroup("MyGroupId", "カスタム通知グループ"); nm.createNotificationChannelGroup(notificationChannelGroup); NotificationChannel notificationChannel = new NotificationChannel("MyChannelId", "カスタム通知", NotificationManager.IMPORTANCE_HIGH); notificationChannel.setGroup("MyGroupId"); notificationChannel.enableLights(true); notificationChannel.enableVibration(true); notificationChannel.setSound("android.resource:// package_name /raw/ ringtone_file", null); // カスタム着信音を設定 nm.createNotificationChannel(notificationChannel); } } }
              
                  private void initChannel(){ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
            if (nm != null){ NotificationChannelGroup notificationChannelGroup = new NotificationChannelGroup("MyGroupId", "カスタム通知グループ");
                nm.createNotificationChannelGroup(notificationChannelGroup);

                NotificationChannel notificationChannel = new NotificationChannel("MyChannelId", "カスタム通知", NotificationManager.IMPORTANCE_HIGH);
                notificationChannel.setGroup("MyGroupId");
                notificationChannel.enableLights(true);
                notificationChannel.enableVibration(true);
                notificationChannel.setSound("android.resource:// package_name /raw/ ringtone_file", null); // カスタム着信音を設定

                nm.createNotificationChannel(notificationChannel);
            }
        }
    }

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

NotificationMessage

  • 通知メッセージ
属性 タイプ 説明
messageId String 必須。Engagelab messageId、メッセージ追跡と統計に使用されます。空にできません。空の場合、通知は表示されません。
overrideMessageId String Engagelab overrideMessageId、メッセージ追跡と統計に使用されます。
platform byte ベンダータイプ。デフォルトはEngagelab。 MTPushPrivatesApi.PLATFORM_DEFAULT: 0
Xiaomi: MTPushPrivatesApi.PLATFORM_XIAOMI: 1
Huawei: MTPushPrivatesApi.PLATFORM_HUAWEI: 2
Meizu: MTPushPrivatesApi.PLATFORM_MEIZU: 3
Oppo: MTPushPrivatesApi.PLATFORM_OPPO: 4
Vivo: MTPushPrivatesApi.PLATFORM_VIVO: 5
Honor: MTPushPrivatesApi.PLATFORM_HONOR: 7
Google: MTPushPrivatesApi.PLATFORM_GOOGLE: 8
platformMessageId String ベンダーメッセージID、ベンダーメッセージ追跡と統計に使用されます。
notificationId int 通知ID。#clearNotificationを呼び出して通知をキャンセルするために使用できます。
smallIcon String 小さいアイコン。デフォルト値:drawable/mtpush_notification_icon.png。
largeIcon String 大きいアイコン、通常は通知の右側に表示されます。
title String 通知タイトル。空の場合、アプリ名が使用されます。
content String 必須。通知内容。空にできません。空の場合、通知は表示されません。
extras Bundle キー/値形式の追加フィールド、両方ともString。
builderId int 通知スタイルID。#setNotificationLayoutを使用して設定できます。デフォルト値:システムスタイル。
style int 通知スタイル。デフォルト値:0
大きなテキストスタイル(NOTIFICATION_STYLE_BIG_TEXT):1
受信トレイスタイル(NOTIFICATION_STYLE_INBOX):2
大きな画像スタイル(NOTIFICATION_STYLE_BIG_PICTURE):3
bigText String 大きなテキスト。スタイルがNOTIFICATION_STYLE_BIG_TEXTの場合に有効です。
inbox String[] 受信トレイ。スタイルがNOTIFICATION_STYLE_INBOXの場合に有効です。
bigPicture String 大きな画像。スタイルがNOTIFICATION_STYLE_BIG_PICTUREの場合に有効です。
priority int 通知優先度。デフォルト値:0
低優先度、通知にはLED、振動、音がありません(Notification.PRIORITY_LOW: -1)
通常優先度、通知にはLED、振動、音があります(Notification.PRIORITY_DEFAULT: 0)
高優先度、通知にはLED、振動、音があり、ポップ upWindow (Notification.PRIORITY_HIGH: 1)
defaults int 音、振動、LEDのデフォルト値。デフォルト値:Notification.DEFAULT_ALL: -1
音:Notification.DEFAULT_SOUND: 1
振動:Notification.DEFAULT_VIBRATE: 2
LED:Notification.DEFAULT_LIGHTS: 4
これらの値は組み合わせ可能。例えば7は音、振動、LEDを表します。
Android 8.0以降、このプロパティはチャネル設定に従います。
category String 通知カテゴリ、通知バーでのソートやフィルタリングに使用されます。
Notification.CATEGORY_ALARM、Notification#CATEGORY_CALLなど様々なカテゴリがあります。
sound String 通知に添付される音声ファイル。音声ファイルは事前にres/rawディレクトリに存在する必要があります。
Android 8.0以降、音声はチャネルに従います。通知に使用されるチャネルに音声が設定されていない場合、カスタム音声は有効になりません。
事前にチャネルに音声を設定し、後続の通知とchannelIdの音声を一致させて通知音効果の一貫性を維持することをお勧めします。
channelId String Android 8.0以降必須。事前に設定されていない場合、SDKが設定を支援します(EngagelabチャネルとアプリがフォアグラウンドにあるときのGoogleチャネルのみ)。
intentUri String 通知クリック後のクリックアクションのインテントURI。現在はactivityのみサポートされています。Intent.toURI()を使用してactivityジャンプを変換します。
badge int この通知によって追加されるバッジの数。累積され、値は0より大きい必要があります。1に設定することを推奨します。
HuaweiとXiaomiのみ有効です。
Xiaomiでは、通知をクリックするとバッジ数が自動的に1減ります。
Huaweiでは、通知をクリックしてもバッジ数は自動的に減りません。#setNotificationBadgeを使用して設定することを推奨します。

CustomMessage

  • カスタムメッセージ
属性 タイプ 説明
messageId String 必須。Engagelab messageId、メッセージ追跡と統計に使用されます。空にできません。
platform byte ベンダータイプ。デフォルトはEngagelab。 MTPushPrivatesApi.PLATFORM_DEFAULT: 0
Xiaomi: MTPushPrivatesApi.PLATFORM_XIAOMI: 1
Huawei: MTPushPrivatesApi.PLATFORM_HUAWEI: 2
Meizu: MTPushPrivatesApi.PLATFORM_MEIZU: 3
Oppo: MTPushPrivatesApi.PLATFORM_OPPO: 4
Vivo: MTPushPrivatesApi.PLATFORM_VIVO: 5
Honor: MTPushPrivatesApi.PLATFORM_HONOR: 7
Google: MTPushPrivatesApi.PLATFORM_GOOGLE: 8
platformMessageId String ベンダーメッセージID、ベンダーメッセージ追跡と統計に使用されます。
title String メッセージタイトル。
content String メッセージ内容。
contentType String メッセージタイプ。
extras Bundle キー/値形式の追加フィールド、両方ともString。

TagMessage

  • タグメッセージ
属性 タイプ 説明
sequence int ユーザー定義の操作シーケンス番号。操作結果と一緒に返され、操作の一意性を識別するために使用されます。
code int 操作結果。詳細は#codeを参照してください。
tags String#addTag
#deleteTag
#updateTag
#queryAllTag
queryTag String タグ。以下の操作で返されます:
#queryTag
queryTagValid boolean タグ状態。以下の操作で返されます:
#queryTag

AliasMessage

  • エイリアスメッセージ
属性 タイプ 説明
sequence int ユーザー定義の操作シーケンス番号。操作結果と一緒に返され、操作の一意性を識別するために使用されます。
code int 操作結果。詳細は#codeを参照してください。
alias String エイリアス。以下の操作で返されます:
#setAlias
#getAlias

PlatformTokenMessage

  • プラットフォームトークンメッセージ
属性 タイプ 説明
platform byte ベンダータイプ。デフォルトはEngagelab。 MTPushPrivatesApi.PLATFORM_DEFAULT: 0
Xiaomi: MTPushPrivatesApi.PLATFORM_XIAOMI: 1
Huawei: MTPushPrivatesApi.PLATFORM_HUAWEI: 2
Meizu: MTPushPrivatesApi.PLATFORM_MEIZU: 3
Oppo: MTPushPrivatesApi.PLATFORM_OPPO: 4
Vivo: MTPushPrivatesApi.PLATFORM_VIVO: 5
Honor: MTPushPrivatesApi.PLATFORM_HONOR: 7
Google: MTPushPrivatesApi.PLATFORM_GOOGLE: 8
token String ベンダーが返したトークン。

InAppMessage

  • アプリ内メッセージ
属性 タイプ 説明
messageId String 必須。Engagelab messageId、メッセージ追跡と統計に使用されます。空にできません。空の場合、メッセージは表示されません。
overrideMessageId String Engagelab overrideMessageId、メッセージ追跡と統計に使用されます。
target String アプリ内メッセージを表示するターゲットページパス。
imageUrl String アプリ内メッセージ画像のURL。
extras String パススルー用の追加情報。
content String アプリ内メッセージの具体的な内容。
expired long 有効期限。
delay long メッセージ表示の遅延時間。
interval long アプリ内メッセージ表示の間隔時間。
duration long アプリ内メッセージの表示時間。
msgTime long SDKがアプリ内メッセージを受信した時間。

コード

コード 整数値 説明
SUCCESS 0 成功
NULL_TAG_AND_ALIAS 6001 無効な設定
TIMEOUT 6002 タイムアウト、再試行を推奨。通常、ネットワークが不安定または初期化が完了していない場合に発生
INVALID_ALIAS 6003 エイリアス文字列が無効です。有効なエイリアスおよびタグは以下で構成されます:英字(大文字小文字区別)、数字、アンダースコア、中国語文字、特殊文字(2.1.6でサポート)@!#$&*+=.|
TOO_LONG_ALIAS 6004 エイリアスが長すぎます。最大40バイト、中国語UTF-8は3バイトです
INVALID_TAGS 6005 タグ文字列が無効です。有効なエイリアスおよびタグは以下で構成されます:英字(大文字小文字区別)、数字、アンダースコア、中国語文字、特殊文字(2.1.6でサポート)@!#$&*+=.|
TOO_LONG_TAG 6006 タグが長すぎます。単一のタグは最大40バイト、中国語UTF-8は3バイトです
TOO_MANY_TAGS 6007 単一の操作でデバイスにバインドされるタグの数が制限を超えました。1回の操作で最大1000個までです。
TOO_LONG_TAGS 6008 単一リクエスト内のタグ操作の長さが5000を超えました
UNKNOWN_ERROR 6009 不明なエラー
INVALID_JSON 6010 無効なJSON
INVOKE_TOO_SOON 6012 タグ/エイリアス操作が頻繁すぎます
CONNECT_NOT_ENABLE 6013 CONNECT_NOT_ENABLE
INVALID_MOBILE_NUMBER 6023 無効な携帯電話番号
icon
お問い合わせ