第三方分享(原生)

作者: 认真一点man | 来源:发表于2016-11-23 15:37 被阅读0次

    集成部分

    • 官网下载SDK
      https://open.weixin.qq.com (微信的)
      http://open.weibo.com (新浪的)(这里我只简单介绍二种,其他的大同小异)
    • 拉入项目中
    • 配置需要的一些库文件


      weibo.png
      wechat.png
    • 编译下。提示有方法找不到的时候可以在 Build SettIngs -> 搜索 other linker Flags-> 添加 -ObjC
    • 配置URL Schemes
    • 在info.plist里配置白名单
    <key>LSApplicationQueriesSchemes</key>
     <array>
      <string>sinaweibohd</string>
      <string>sinaweibo</string>
      <string>weibosdk</string>
      <string>weibosdk2.5</string>
      <string>weixin</string>
     </array>
    
    • 部分代码
    
    - (void) shareToWechat
    {
            WXMediaMessage *message = [WXMediaMessage message];
            message.title = @"标题";
            message.description = @"详情";
            //获取原图
            UIImage *originImage = [[SDImageCache sharedImageCache] imageFromDiskCacheForKey:@"图片URL"];//这里使用SD进行图片缓存
            
            [message setThumbImage:originImage];
            
            WXVideoObject *ext = [WXVideoObject object];//视频类型
            ext.videoUrl = @"链接地址";
            message.mediaObject = ext;
            
            SendMessageToWXReq *req = [[SendMessageToWXReq alloc] init];
            req.bText = NO;
            req.message = message;
            req.scene = WXSceneSession;//WXSceneTimeline(朋友圈)
            
            [WXApi sendReq:req];
    }
    - (void)shareToSina
    {
            WBAuthorizeRequest *authRequest = [WBAuthorizeRequest request];
            authRequest.redirectURI = @"http://www.sina.com";
            authRequest.scope = @"all";
            WBMessageObject *message = [WBMessageObject message];
            
            WBWebpageObject *webpage = [WBWebpageObject object];
            
            webpage.objectID = @"identifier1";
            webpage.title = @"标题";
            webpage.description = @"描述";
            
            //切记分享的图片大小不能超过32k,否则分享不成功(个人觉得放LOGO的)。
            webpage.thumbnailData = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"userImage" ofType:@"png"]];
            webpage.webpageUrl = @"链接地址"; 
            message.mediaObject = webpage;
            
            WBSendMessageToWeiboRequest *request = [WBSendMessageToWeiboRequest requestWithMessage:message authInfo:authRequest access_token:nil];
            [WeiboSDK sendRequest:request];
    }
    

    • 可能遇到的问题
      编译时报错,什么方法找不到,看是否有加入-ObjC
      跳转不成功?看是否有配置白名单
      返回时崩溃?在AppDelegate中加入回调方法(个人愚见)
    /** 微博分享结束后的回调 */
    - (void)didReceiveWeiboResponse:(WBBaseResponse *)response{}
    - (void)didReceiveWeiboRequest:(WBBaseRequest *)request{}
    /** 分享回调 */
    - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
        return  [WXApi handleOpenURL:url delegate:self] | [WeiboSDK handleOpenURL:url delegate:self];
    }
    
    - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
        return [WXApi handleOpenURL:url delegate:self] | [WeiboSDK handleOpenURL:url delegate:self];
    }
    

    说一下申请AppKey

    • 微信开放平台
      账号:邮箱注册(未注册开发平台、未注册公众平台、未绑定私人账号)
      应用中英文名称、中英文简介
      28X28像素的、108X108像素的PNG格式的图片(logo)
      应用官网(网址)
      Bundle ID // 很容易申请成功。。。我第二天就有结果了

    • 新浪开放平台
      微博账号登录
      开发者类型:个人 公司
      开发者名称、企业邮箱、企业电话、紧急联系人、电话
      真实姓名、证件号码、证件照片、手机验证
      Apple ID、
      应用简介(15)、应用介绍(1000)
      搜索标签
      16X16、80X80、120X120(PNG/JPG)
      应用介绍图片三张(高:300px 宽:450px) //需要个人认证,才能提交审核


    懂得分享才能使我们成长的更快!

    相关文章

      网友评论

        本文标题:第三方分享(原生)

        本文链接:https://www.haomeiwen.com/subject/wglvpttx.html