我試圖使用從Google+到Google+應用的深度鏈接,然後輸入http://developers.google.com/+/mobile/android/share/deep-link。將鏈接深度鏈接到Google+,但鏈接沒有任何作用
我可以分享到Google+。帖子中的鏈接是「可點擊的」(觸摸時突出顯示),但在發佈時不做任何事情。此外,該帖子還包含可疑的「未定義」文本行。
sample http://raw.github.com/concreterose/TestDeepLink/master/README_ASSETS/sample_share.png
我已經在谷歌開發者控制檯項目憑證啓用深層鏈接。
我使用一個簽名,與Scopes.PLUS_LOGIN創建PlusClient,通過發佈:
Intent shareIntent = new PlusShare.Builder(this, plusClient)
.setText("Testing deep link")
.setType("text/plain")
.setContentDeepLinkId("deeplink",
"title",
"description",
Uri.parse(thumbnailUrl))
.getIntent();
startActivityForResult(shareIntent, 0);
我不知道如果我需要所有這些,而試圖把事情的工作,我有:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
的處理活動(給定爲清單中的第一個活動):
<activity android:name=".ParseDeepLinkActivity">
<intent-filter>
<action android:name="com.google.android.apps.plus.VIEW_DEEP_LINK" />
<data android:scheme="vnd.google.deeplink" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
</activity>
是:
public class ParseDeepLinkActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.i(TAG, "onCreate");
throw new RuntimeException("got here");
}
}
我正在構建發行密鑰庫並在運行4.4的多個實際設備上進行測試。
我已經試過:
使用
PlusShare.Builder(activity)
構造函數(不plusClient
),沒有變化。使用addCallToAction(label, uri, deeplink)
代替setContentDeepLinkId
。沒有號召性用語按鈕,點擊帖子後轉到uri而不是深度鏈接。在開發人員控制檯中正確設置三重檢查「深層鏈接:已啓用」。
建設沒有proguard,沒有變化。
卸載應用程序然後點擊鏈接(應該打開Play商店條目),什麼也不做。
使用不同的密鑰簽名。加號登錄失敗(按預期)。
使用不同版本的播放服務(4.0.30 vs 3.2。+)。
adb shell setprop log.tag.GooglePlusPlatform VERBOSE
不生成任何日誌消息。獲取我的API訪問令牌並驗證它有
auth/plus.login
,它的確如此。
誰能告訴我我做錯了什麼?謝謝!!
更新:這現在正在工作,顯然是由Google Play服務更新修復的。
仍在更新到谷歌播放服務(對設備和應用的build.gradle)4.1.32後失敗。 – Darrell