コンテンツにスキップ

Push通知のみ 配信

実装手順

  1. AndroidManifest.xml の meta-data で下記設定の設定値を true に変更します。

    <!-- 配信タイプ「Push通知のみ」の配信を行う場合は true に設定してください。-->
    <meta-data
        android:name="POPINFO_USES_PUSH_ONLY"
        android:value="true" />
    
  2. 同梱の PopinfoCallback.java をアプリプロジェクトの任意の名前(ここでは MyPopinfoCallback とします)で任意のパッケージに配置し、AndroidManifest.xml に設定します。

    • コールバッククラスの詳細は「こちら」をご確認ください。
    <meta-data
        android:name="POPINFO_CALLBACK_CLASS"
        android:value="パッケージ名.MyPopinfoCallback" />
    
  3. コピーした MyPopinfoCallback クラスで Notification(通知エリアの通知)タップ時の処理を下記を参考に実装します。

    • ※ 「実装:」部分の処理に関しましてはアプリの仕様に合わせて実装してください。
    public boolean onInfoTapAction(Context context, long id, String src, Intent payload) {
        // 「Push通知のみ」配信かどうかの値をpayloadより取得します
        // "has_detail"キーの値で配信タイプを判定できます(true: Push通知のみ配信以外 false: Push通知のみ配信)
        boolean hasDetail = Boolean.valueOf(payload.getStringExtra("has_detail"));
    
        // "link_url"キーの値は「Push通知のみ」配信時に設定できる「"URLを開く"から遷移するURL」項目に該当します
        String linkUrl = payload.getStringExtra("link_url");
    
        // 「Push通知のみ」配信以外の場合
        if (hasDetail) {
            return super.onInfoTapAction(context, id, src, payload);
    
        // 「Push通知のみ」配信の場合
        } else {
    
            // 配信時にURLを設定している場合
            if (!TextUtils.isEmpty(linkUrl)) {
    
    /**************** 実装:(デフォルトサンプル)配信時に設定されたURLを暗黙的インテントで起動します。必要に応じて処理は変更してください。 ****************/
                Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(linkUrl));
                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                context.startActivity(intent);
    
            // 配信時にURLを設定していない場合
            } else {
    
    /**************** 実装:URLを設定されていない場合の処理をアプリの仕様に合わせて処理を実装してください。 ****************/
    
            }
    
            // 通知バーの通知を削除します
            PopinfoUiUtils.clearNotification(context, id);
            return false;
    }
    }