本篇文档主要讲解如何使用 Pinterest 平台进行分享(不支持授权)
创建应用
1.登录Pinterest开发者平台并通过企业认证
2.点击接受 Pinterest 的开发者服务条款
2.单击连接应用程序
4.编辑应用信息
以下为创建过程示例,图中信息仅为示例,创建时请按照真实信息填写,否则无法正常使用
填写基本信息
集成使用
配置信息获取
客户端在使用 Pinterest 平台之前,需要先获取 Pinterest 开发者平台的应用程序 id
Android
SDK 集成
在集成 Pinterest 相关能力之前,请先按照ShareSDK集成指南完成 ShareSDK 的集成。
在对应 gradle 文件中,添加如下 Pinterest 代码,其中 appId 的值对应 Pinterest 平台中的应用程序 id
ShareSDK {
devInfo {
Pinterest {
appId "xxxxxxx"
shareByAppClient true
enable true
}
}
}
复制代码
分享示例
代码
以下代码示例分享图文到 Pinterest,Pinterest 必须用客户端才可分享,调用的系统客户端分享,所以无法获取准确回调,点击调用 Pinterest 分享,默认执行 onComplete 回调。
Platform platform = ShareSDK.getPlatform(Pinterest.NAME);
Platform.ShareParams shareParams = new Platform.ShareParams();
shareParams.setText("Pinterest分享");
shareParams.setImageUrl("https://download.sdk.mob.com/web/images/2019/07/30/14/1564468183056/750_750_65.12.png");
shareParams.setUrl("https://www.mob.com/");
// 设置分享事件回调(注:回调放在不能保证在主线程调用,不可以在里面直接处理UI操作)
platform.setPlatformActionListener(new PlatformActionListener() {
@Override
public void onComplete(Platform platform, int i, HashMap<String, Object> hashMap) {
//分享成功
}
@Override
public void onError(Platform platform, int i, Throwable throwable) {
//分享失败
}
@Override
public void onCancel(Platform platform, int i) {
//分享取消
}
});
platform.share(shareParams);
复制代码
效果图
iOS
SDK 集成
集成 SDK
在集成 Pinterest 相关能力之前,请先按照ShareSDK集成指南完成 ShareSDK 的集成
添加白名单
在项目的 info.plist 中添加 Queried URL Schemes,类型为 Array,然后添加一个需要支持的项目,类型为字符串类型,添加:pinit,pinterestsdk.v1
配置 scheme
打开项目的 Info 选项,添加对应平台的 URL Scheme 配置,配置为 pdk+ClientId,如下图:
初始化平台
[ShareSDK registPlatforms:^(SSDKRegister *platformsRegister) {
[platformsRegister setupPinterestByClientId:@"XXXXXXXX"];
}];
复制代码
分享示例
代码
#import <ShareSDK/ShareSDK.h>
NSMutableDictionary *parameters = [NSMutableDictionary dictionary];
[parameters SSDKSetupShareParamsByText:nil
images:@"http://download.sdk.mob.com/web/images/2019/07/30/14/1564468183056/750_750_65.12.png"
url:nil
title:nil
type:SSDKContentTypeImage];
[ShareSDK share:SSDKPlatformTypePinterest parameters:parameters onStateChanged:^(SSDKResponseState state, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error) {
if (state == SSDKResponseStateSuccess)
{
NSLog(@"分享成功");
}
if (state == SSDKResponseStateFail)
{
NSLog(@"失败----%@",error.description);
}
if (state == SSDKResponseStateCancel)
{
NSLog(@"取消");
}
}];
复制代码
效果图
评论