简而言之:一切似乎都在客户端工作,但没有收到Facebook目标朋友.
以下是代码和屏幕截图的详细步骤:
AppInviteContent content = new AppInviteConent.Builder()
.setApplinkUrl("App link url created via the Facebook AppLink creator tool")
.setPreviewImageUrl("http://www.redacted.com/previewImage.png")
.build();
appInviteDialog.show(this, content);
Run Code Online (Sandbox Code Playgroud)
这会导致显示一个对话框,其中包含预览应用程序安装的链接,以及在顶部输入消息的选项:

然后我点击下一步,选择一个或多个朋友,然后点击右上角的发送按钮:

结果是看似成功的发送:

我还附加了一个回调,以确保它实际上是一个成功的发送:
appInviteDialog.registerCallback(facebookCallbackManager, new FacebookCallback<AppInviteDialog.Result>() {
@Override
public void onSuccess(AppInviteDialog.Result result) {
Log.d(TAG,"onSuccess result = "+ result.getData().toString());
}
@Override
public void onCancel() {}
@Override
public void onError(FacebookException e) {
Log.d(TAG,"onError message = "+ e.getMessage());
}
});
Run Code Online (Sandbox Code Playgroud)
这打印出"onSuccess result = Bundle [{didComplete = 1}]"
预期结果:朋友收到通知.实际结果:朋友什么都没得到.
一些可能有用的信息:
这是令人沮丧的,因为一切似乎都没问题,并且没有办法(我知道)调试这个问题.
我希望有人可以帮助我或指出我正确的方向.
谢谢!
我有许多带有 alpha 的 PNG 图像,我已使用 XnConvert 将它们转换为 WEBP。转换本身进行得很顺利,并且 Alpha 通道保持不变,直到上传到BlobStore
在上传到 blobstore 之前,它看起来像这样:

之后看起来像这样:

它由服务 URL 作为 JPG 提供,因此 Alpha 通道被删除。在 App Engine 控制台的 BlobStore 查看器中,它已将内容类型设置为 application/octet-stream,即使上传的文件具有 .webp 文件扩展名。
根据Images API 文档,它应该支持 WEBP。
上传图像时我根本没有做任何花哨的事情:
List<BlobKey> blobs = blobstoreService.getUploads(req).get("file");
BlobKey blobKey = blobs.get(0);
ImagesService imagesService = ImagesServiceFactory.getImagesService();
ServingUrlOptions servingOptions = ServingUrlOptions.Builder.withBlobKey(blobKey);
String servingUrl = imagesService.getServingUrl(servingOptions);
Run Code Online (Sandbox Code Playgroud)
EDIT:
这是一个服务 url 示例: 示例服务 url
我尝试使用Chrome和 Android 客户端访问它。这是用于在 Android 客户端中访问它的代码,尽管我认为它不相关:
URL url = new URL(Assets.getServingUrl(resourceName));
URLConnection connection = url.openConnection(); …Run Code Online (Sandbox Code Playgroud)