내 Android 앱에서 AppLinks를 작동시키는 데 큰 어려움을 겪고 있습니다. MyApp를 호출합니다. 필자는 페이스 북 개발자 사이트의 문서를 따라 기존 앱에 앱 링크를 통합했습니다. 페이스 북의 디버그 도구 (https://developers.facebook.com/tools/debug/og/object/는) applinks 내 3 개 메타 태그를 내 웹 페이지가 제대로 긁어지고 보여주고, 보여줍니다Facebook AppLinks가 Android 앱에 URI를 전달하지 않습니다.
<meta property="al:android:app_name" content="MyApp" />
<meta property="al:android:package" content="com.myapp.android" />
<meta property="al:android:url" content="myapp://myapphost/myapppath" />
나는 페이스 북이 URL I을 공유하는 공유 대화 상자를 사용하여 게시 오픈 그래프 이야기가 페이스 북의 디버그 도구를 통해 보았습니다. 이 Open Graph Stories는 Facebook에 의해 검토/승인되었으며 뉴스 피드에 표시됩니다. 클릭하면 페이스 북의 브라우저에서 이야기와 관련된 URL로 이동합니다. Android 용 Facebook에서 클릭하면 URI 스키마 (UriLoadingActivity)를 처리하는 활동이 아니라 MyApp의 기본 활동 (MainActivity) 만 열립니다. 내가 푸시 알림에 사용하기 때문에 나는 URI 체계가 작동 알고
<activity
android:name="com.myapp.android.activity.UriLoadingActivity"
android:parentActivityName="com.myapp.android.activity.MainActivity" >
<intent-filter>
<action android:name="android.intent.action.GET_CONTENT" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
<data
android:host="myapphost"
android:scheme="myapp" />
</intent-filter>
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.myapp.android.activity.MainActivity" />
</activity>
내가 (에서 onCreate에서 로그를) MainActivity의 의도를 확인 : 사용자가 알림을 클릭하면, 그것은 UriLoadingActivity에 소요 페이스 북에서 전달 된 데이터. 따라서 referer_app_link 번들에 Facebook 패키지와 앱 이름이 표시됩니다. Open Graph Story에 게시 한 웹 페이지 URL이있는 target_url을 얻을 수도 있지만 내 웹 페이지의 메타 태그에서 제공 한 AppLink 데이터가 보이지 않습니다.
비슷한 문제가 발생한 사람이 있습니까?
업데이트 : 여기 FB에 게시하는 데 사용하는 코드가 있습니다.
private void shareToFacebook(Bitmap image) {
if (FacebookDialog.canPresentOpenGraphActionDialog(
getApplicationContext(),
FacebookDialog.OpenGraphActionDialogFeature.OG_ACTION_DIALOG)) {
OpenGraphObject myObject = OpenGraphObject.Factory
.createForPost("myapp:object");
myObject.setProperty("title", "My Title");
myObject.setUrl(Constants.SHARE_URL);
myObject.setProperty("description",
"Just Posting to the News Feed!");
OpenGraphAction action = GraphObject.Factory
.create(OpenGraphAction.class);
action.setType("myapp:action");
action.setProperty("object", myObject);
List<Bitmap> images = new ArrayList<Bitmap>();
images.add(image);
FacebookDialog shareDialog = new FacebookDialog.OpenGraphActionDialogBuilder(
this, action, "object").setImageAttachmentsForObject(
"object", images, false).build();
uiHelper.trackPendingDialogCall(shareDialog.present());
}
}
공유하는 방법에 일부 코드 단편을 추가 할 수 있습니까? 나는 FB 앱이 앱 링크가 아닌 이전 딥 링크 프로토콜 (앱 설정에서)에 앱을 실제로 열고 있다고 의심하고 어떻게 든 다시 만들 수 있는지 확인하려고합니다. –
나는 위에 나의 몫을 배치했다. Deep Linking 토글이 Facebook 설정에서 켜져 있습니다. 이 기능을 끄면 Android Facebook 인앱 브라우저에 공유 된 URL이 열립니다. –