友盟U-share sdk 分享的接入(支持Android及IOS)

导读:公司的原生开发的APP有块功能原来需要分享小程序到微信,现在改成分享成H5的形式,携带的参数不讨论,这里记录一下。

官方文档:https://developer.umeng.com/docs/128606/detail/129137

安卓分享H5:https://developer.umeng.com/docs/128606/detail/193883#h2-u5206u4EABu5C0Fu7A0Bu5E8F2

IOS分享H5:https://developer.umeng.com/docs/128606/detail/193655#h2-u5206u4EABu7F51u9875u94FEu63A51

 

支持的样式

友盟U-share sdk 分享的接入(支持Android及IOS)_第1张图片

集成友盟+ U-Share SDK之前,您首先需要到 【友盟+】官网注册并且添加新应用,获得Appkey。

权限添加(在AndroidManifest中添加如下权限



 

企业微信的参数需要开发者登录企业微信管理后台 https://work.weixin.qq.com/ 进行查看。填写的四个参数分别为:参数1:id (我的企业 企业ID),参数2:Secret (应用管理->你的应用名 Secret),参数3:AgentId(应用管理->你的应用名 AgentId),参数4:schema (应用管理->企业微信授权登录->Android schema)

        // 微信设置
        PlatformConfig.setWeixin("wxdc1e388c3822c80b", "3baf1193c85774b3fd9d18447d76cab0");
        PlatformConfig.setWXFileProvider("com.tencent.sample2.fileprovider");
        // QQ设置
        PlatformConfig.setQQZone("101830139", "5d63ae8858f1caab67715ccd6c18d7a5");
        PlatformConfig.setQQFileProvider("com.tencent.sample2.fileprovider");
        // 企业微信设置
        PlatformConfig.setWXWork("wwac6ffb259ff6f66a", "EU1LRsWC5uWn6KUuYOiWUpkoH45eOA0yH-ngL8579zs", "1000002", "wwauthac6ffb259ff6f66a000002");
        PlatformConfig.setWXWorkFileProvider("com.tencent.sample2.fileprovider");
        // 其他平台设置
        PlatformConfig.setSinaWeibo("3921700954", "04b48b094faeb16683c32669824ebdad","http://sns.whalecloud.com");
        PlatformConfig.setDing("dingoalmlnohc0wggfedpk");
        PlatformConfig.setYixin("yxc0614e80c9304c11b0391514d09f13bf");
        PlatformConfig.setAlipay("2015111700822536");
        PlatformConfig.setLaiwang("laiwangd497e70d4", "d497e70d4c3e4efeab1381476bac4c5e");
        PlatformConfig.setTwitter("3aIN7fuF685MuZ7jtXkQxalyi", "MK6FEYG63eWcpDFgRYw4w9puJhzDl0tyuqWjZ3M7XJuuG7mMbO");
        PlatformConfig.setPinterest("1439206");
        PlatformConfig.setKakao("e4f60e065048eb031e235c806b31c70f");   
        PlatformConfig.setVKontakte("5764965","5My6SNliAaLxEm3Lyd9J");
        PlatformConfig.setDropbox("oz8v5apet3arcdy","h7p2pjbzkkxt02a");
        PlatformConfig.setYnote("9c82bf470cba7bd2f1819b0ee26f86c6ce670e9b");

安卓分享接入

分享网页链接(分享网页链接可以使用UMWeb进行分享

UMWeb  web = new UMWeb(Defaultcontent.url);
        web.setTitle("This is music title");//标题
        web.setThumb(thumb);  //缩略图
        web.setDescription("my description");//描述

然后调用将这个参数设置到ShareAction中

new ShareAction(ShareActivity.this)
    .withMedia(web)
    .share();

分享小程序 

小程序类型支持分享微信小程序和QQ小程序,其中微信小程序只支持分享到微信好友,朋友圈,微信收藏暂不支持:
以下是微信小程序分享代码:

UMMin umMin = new UMMin(Defaultcontent.url);
//兼容低版本的网页链接
umMin.setThumb(imagelocal);
// 小程序消息封面图片
umMin.setTitle(Defaultcontent.title);
// 小程序消息title
umMin.setDescription(Defaultcontent.text);
// 小程序消息描述
umMin.setPath("pages/page10007/xxxxxx");
//小程序页面路径
umMin.setUserName("gh_xxxxxxxxxxxx");
// 小程序原始id,在微信平台查询
new ShareAction(ShareDetailActivity.this)
.withMedia(umMin)
.setPlatform(share_media)
.setCallback(shareListener).share();

以下是QQ小程序分享代码:

// QQ小程序分享样例代码,位于官方Demo工程 ShareDetailActivity.java中
public void shareQQMiniApp() {
        UMQQMini qqMini = new UMQQMini(Defaultcontent.url);
        qqMini.setThumb(new UMImage(this, Defaultcontent.imageurl)); // 缩略图支持网络图片和本地图片
        qqMini.setTitle(Defaultcontent.title);
        qqMini.setDescription(Defaultcontent.text);
        qqMini.setMiniAppId("1110429485");
        qqMini.setPath("pages/index/index");
        new ShareAction(ShareDetailActivity.this)
                .withMedia(qqMini)
                .setPlatform(share_media)
                .setCallback(shareListener).share();
    }

 更多接入请参考:https://developer.umeng.com/docs/128606/detail/193883

IOS分享接入

分享网页链接

- (void)shareWebPageToPlatformType:(UMSocialPlatformType)platformType
{
    //创建分享消息对象
    UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject];

    //创建网页内容对象
    UMShareWebpageObject *shareObject = [UMShareWebpageObject shareObjectWithTitle:@"分享标题" descr:@"分享内容描述" thumImage:[UIImage imageNamed:@"icon"]];
    //设置网页地址
    shareObject.webpageUrl =@"http://mobile.umeng.com/social";

    //分享消息对象设置分享内容对象
    messageObject.shareObject = shareObject;

    //调用分享接口
    [[UMSocialManager defaultManager] shareToPlatform:platformType messageObject:messageObject currentViewController:self completion:^(id data, NSError *error) {
        if (error) {
            NSLog(@"************Share fail with error %@*********",error);
        }else{
            NSLog(@"response data is %@",data);
        }
    }];
}

分享小程序

小程序支持分享到QQ和微信两个平台

- (void)shareMiniProgramToPlatformType:(UMSocialPlatformType)platformType
{
    //创建分享消息对象
    UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject];

    UMShareMiniProgramObject *shareObject = [UMShareMiniProgramObject shareObjectWithTitle:@"小程序标题" descr:@"小程序内容描述" thumImage:[UIImage imageNamed:@"icon"]];
    shareObject.webpageUrl = @"兼容微信低版本网页地址";
    shareObject.userName = @"小程序username,如 gh_3ac2059ac66f";
    shareObject.path = @"小程序页面路径,如 pages/page10007/page10007";
    messageObject.shareObject = shareObject;
    shareObject.hdImageData = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"logo" ofType:@"png"]];
    shareObject.miniProgramType = UShareWXMiniProgramTypeRelease; // 可选体验版和开发板

    //调用分享接口
    [[UMSocialManager defaultManager] shareToPlatform:platformType messageObject:messageObject currentViewController:self completion:^(id data, NSError *error) {
        if (error) {
            UMSocialLogInfo(@"************Share fail with error %@*********",error);
        }else{
            if ([data isKindOfClass:[UMSocialShareResponse class]]) {
                UMSocialShareResponse *resp = data;
                //分享结果消息
                UMSocialLogInfo(@"response message is %@",resp.message);
                //第三方原始返回的数据
                UMSocialLogInfo(@"response originalResponse data is %@",resp.originalResponse);

            }else{
                UMSocialLogInfo(@"response data is %@",data);
            }
        }
        [self alertWithError:error];
    }];
}

 更多ios分享接入请参考:https://developer.umeng.com/docs/128606/detail/193655#h2-u5206u4EABu7F51u9875u94FEu63A51

 

 

另外自定义微信分享请参考

H5网页实现微信分享功能:https://www.jianshu.com/p/922b0986d1b0

怎么使用微信JSSDK的自定义分享功能:https://www.huceo.com/post/414.html

你可能感兴趣的:(常用教程系列,U-share,微信分享,android,IOS,sdk)