2017-12-29 16 views
0

Im 인스턴트 앱으로 이전 할 계획입니다. 그래서 하나의 서브 인스턴트 기능 모듈에서 다른 인스턴트 기능 모듈로 이동할 수 있는지 궁금합니다. 예를 들어 제품에 대한 필수 정보를 보유하고있는 세부 기능이있을 수 있습니다. 사용자가 해당 제품을 구입하는 데 관심이 있다면 사용자를 결제 기능 모듈로 이동할 수 있습니다 (Google 지불 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 Instant Applications는 하나의 인스턴트 기능 모듈에서 다른 즉석 기능 모듈로 탐색을 지원합니다.
: - :

  • 는 항상 진입 점을 고려 당신은 google developers webpage를 참조 할 수


    (예 세부 기능> 지불 기능).
  • 인스턴트 앱의 각 기능에는 해당 기능의 진입 점 역할을하는 활동이 하나 이상 있습니다.
  • 또한 액티비티는 인스턴트 앱 내에서 직접 다른 액티비티를 시작할 수 없습니다. 오히려 해당 작업에 해당하는 URL 주소를 요청해야합니다.
  • INTENT (요청 URL 주소)를 작성하여 탐색 할 수 있습니다. 지급 기능 (기능 2)을 열려면 세부 기능 (기능 1)에서 이것을 호출 할 수 있습니다.
  • 사용자가 인스턴트 앱에서 기능을 요청하면 해당 기능을 실행하는 데 필요한 코드 만 수신됩니다.
  • 이렇게하면 진입 점 개념을 따르고있는 것입니다.

기능 탐색과 관련된 샘플 코드 예제는 링크에서 확인할 수 있습니다.