2017-12-29 9 views
0

Imインスタントアプリに現在のアプリを移行する予定です。だから私はそれが可能なサブインスタント機能モジュールから別のインスタント機能モジュールにナビゲートすることができますかと思っていた。たとえば、商品に関する必要な情報を保持している詳細機能を使用している可能性があります。ユーザーがその商品を購入することに興味があれば、支払い機能モジュールに移動できます(Google Payment APIは現在、インスタントモジュール間で現在サポートされているこの種のナビゲーションがありますか?Androidインスタントアプリ:あるインスタント機能から他のサブインスタント機能にナビゲートすることは可能ですか

答えて

3

もちろん、これはサポートされています。そうでない場合、Instant Appsを使用することは非常に制限されます。

フィーチャモジュールを開くにはAppLinksを使用する必要があります。電話をかけた後、必要に応じてAndroidがその機能をダウンロードします。

たとえば、これはGoogle Samplesで使用メイン特徴から開口詳細機能のフローです。

@NonNull 
private static Intent getDetailActivityStartIntent(Context context, 
                int position, 
                PhotoViewHolder holder) { 
    final Intent intent = new Intent(Intent.ACTION_VIEW, 
      Uri.parse("https://multi-feature.instantappsample.com/detail/" + position)); 
    intent.setPackage(context.getPackageName()); 
    intent.addCategory(Intent.CATEGORY_BROWSABLE); 

    TextView author = 
      holder.itemView.findViewById(com.example.android.unsplash.base.R.id.author); 

    // Working around unboxing issues with multiple dex files on platforms prior to N. 
    intent.putExtra(IntentUtil.SELECTED_ITEM_POSITION, position); 
    intent.putExtra(IntentUtil.FONT_SIZE, author.getTextSize()); 
    intent.putExtra(IntentUtil.PADDING, 
      new Rect(author.getPaddingLeft(), 
        author.getPaddingTop(), 
        author.getPaddingRight(), 
        author.getPaddingBottom())); 
    intent.putExtra(IntentUtil.TEXT_COLOR, author.getCurrentTextColor()); 
    return intent; 
} 

がそれを開始::テントの作成

結果のために仕上げ

final Intent intent = getDetailActivityStartIntent(activity, position, pvh); 
final ActivityOptions activityOptions = getActivityOptions(pvh); 
activity.startActivityForResult(intent, IntentUtil.REQUEST_CODE, 
    activityOptions.toBundle()); 

は非インスタントアプリとしてちょうど同じです。

結果をDetailActivityに設定して終了します。 MainActivityのonActivityResultで結果を取得します。

1

はい、Androidインスタントアプリケーションは、1つのサブインスタント機能モジュールから別のインスタント機能モジュールへのナビゲーションをサポートしています。
(例:詳細は備えています - >決済機能)

あなたはgoogle developers webpageを参照することができます。

  • 必ずエントリポイントを考えてみましょう。
  • インスタントアプリ内の各機能には、その機能のエントリポイントとして機能する少なくとも1つのアクティビティがあります。
  • また、アクティビティはインスタントアプリ内で別のアクティビティを直接起動することはできません。むしろ、そのアクティビティに対応するURLアドレスを要求しなければなりません。
  • INTENT(リクエストURLアドレス)を構築することでナビゲートできます。 お支払い機能(機能2)を開くには、詳細機能(機能1)から電話することができます。
  • ユーザーがインスタントアプリから機能をリクエストすると、その特定の機能を実行するために必要なコードのみが受信されます。
  • これを実行すると、エントリポイントの概念に従います。

フィーチャーナビゲーションに関連するサンプルコードの例は、リンクで確認できます。

関連する問題