• 友盟分享(微信分享,微博分享,Facebook分享)


    最近写了友盟分享,已经完全实现了,从最一开始的申请APPID到最后分享成功,跟大家细致的分享一下,希望对读者有帮住

    一.  分享流程介绍

    1.下载友盟分享的SDK并导入

    需要注意的是要导入很多头文件:(具体步骤移步:http://dev.umeng.com/social/ios/quick-integration)

    • Security.framework
    • libiconv.dylib
    • SystemConfiguration.framework
    • CoreGraphics.Framework
    • libsqlite3.dylib
    • CoreTelephony.framework
    • libstdc++.dylib
    • libz.dylib

    2  设置友盟appkey

    •  获取友盟Appkey。如果你之前已经在友盟注册了应用,获得了Appkey,可以继续使用之前获得Appkey。 

    • 在代码中设置你的友盟Appkey,在 AppDelegate文件内设置你的AppKey:

     

    3  配置第三方平台APPID及scheme

    1.  配置第三方APPID

    坑:

    a.注册的时候让你输入的信息一定要对应你的APP信息

    比如注册Facebook的时候,你的Bundel ID和应用名字 要统一,不然分享的时候就不会成功;

    b.注意,我代码用的不是友盟自带的分享弹框样式是自定义的因为我要做国际化,没找到友盟的支持方法;

    2  配置系统回调

    3  配置URL scheme

    不多说了,上代码吧:

    //

    //  AppDelegate.m

    //  SPUIView

    //

    //  Created by WBapple on 16/1/20.

    //  Copyright © 2016年 chinasofti. All rights reserved.

    //

    #import "AppDelegate.h"

    //微信分享

    #import "WXApi.h"

    //友盟分享

    #import "UMSocial.h"

    #import "UMSocialFacebookHandler.h"

    #import "UMSocialSinaSSOHandler.h"

    #import "UMSocialWechatHandler.h"

    @interface AppDelegate () <WXApiDelegate>

    @end

    @implementation AppDelegate

    - (BOOL)application:(UIApplication *)application

    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

    {

    /*****************************************分享代码********************************/

        // 1.友盟分享的Key

        NSString *UmengAppkey = @"57173b1ce0f55add74AAAAAAAA";

        // 2.要分享的URL

        NSString *Url = I18N (@"myurl");

        // 3.1设置友盟社会化组件appkey

        [UMSocialData setAppKey:UmengAppkey];

        // 3.2设置微信AppId、appSecret,分享url

        [UMSocialWechatHandler setWXAppId:@"wx1d6AAAAAAAAAA"

                                appSecret:@"c8e7605d0bd5f02adAAAAAAAAAAAAA"

                                      url:Url];

        // 3.3打开新浪微博的SSO开关,设置新浪微博回调地址,这里必须要和你在新浪微博后台设置的回调地址一致

        [UMSocialSinaSSOHandler openNewSinaSSOWithAppKey:@"165769AAAAA"

                                                  secret:@"d09a66e00701f1AAAAAAAAAAAAAAA"

                                             RedirectURL:Url];

        // 3.4设置Facebook,AppID和分享url

        [UMSocialFacebookHandler setFacebookAppID:@"576212AAAAAAAA" shareFacebookWithURL:Url];

        // 4.1支持横屏

        [UMSocialConfig setSupportedInterfaceOrientations:UIInterfaceOrientationMaskLandscape];

        // 4.2对未安装客户端平台进行隐藏(苹果审核需要,如果不加审核不过)

        [UMSocialConfig hiddenNotInstallPlatforms:@[

            UMShareToWechatSession,

            UMShareToWechatTimeline,

            UMShareToSina,

            UMShareToFacebook

        ]];

        // 4.4分享链接

        [[UMSocialData defaultData].urlResource setResourceType:UMSocialUrlResourceTypeWeb url:Url];

        /*****************************************分享代码********************************/

    }

    #pragma mark - 分享的方法

    //回调函数

    - (BOOL)application:(UIApplication *)application

                openURL:(NSURL *)url

      sourceApplication:(NSString *)sourceApplication

             annotation:(id)annotation

    {

        BOOL result = [UMSocialSnsService handleOpenURL:url];

        if (result == FALSE)

        {

            //调用其他SDK,例如支付宝SDK等

            SVInfo (@"分享回调函数");

        }

        return result;

    }

    - (void)didFinishGetUMSocialDataInViewController:(UMSocialResponseEntity *)response

    {

        //根据`responseCode`得到发送结果,如果分享成功

        if (response.responseCode == UMSResponseCodeSuccess)

        {

            //得到分享到的微博平台名

            SVInfo (@"share to sns name is %@", [[response.data allKeys] objectAtIndex:0]);

        }

    }

    - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url

    {

        return [UMSocialSnsService handleOpenURL:url];

    }

    //弹出列表方法presentSnsIconSheetView需要设置delegate为self

    - (BOOL)isDirectShareInIconActionSheet

    {

        return YES;

    }

    //友盟分享

    #import "UMSocial.h"

      // 5.0分享

       { [[UMSocialControllerService defaultControllerService] setShareText:MessageText

                                                                shareImage:[UIImage imageNamed:image]

                                                          socialUIDelegate:self];

        //微信好友

        [UMSocialData defaultData].extConfig.wechatSessionData.title = MessageTitle;

        [UMSocialData defaultData].extConfig.wechatSessionData.shareText = MessageText;

        //微信朋友圈

        [UMSocialData defaultData].extConfig.wechatTimelineData.title = MessageTitle;

        // Facebook

        //    [UMSocialData defaultData].extConfig.facebookData.title = MessageTitle;

        //    [UMSocialData defaultData].extConfig.facebookData.url = Url;

        //    [UMSocialData defaultData].extConfig.facebookData.linkDescription =

        //    I18N (@"Click download application");

        [UMSocialData defaultData].extConfig.facebookData.shareText =

        [[NSString alloc] initWithFormat:@"%@%@", MessageTitle, Url];

        //微博

        [UMSocialData defaultData].extConfig.sinaData.shareText = MessageTitle;

    }

    //分享成功调用此方法

    - (void)didFinishGetUMSocialDataInViewController:(UMSocialResponseEntity *)response

    {

        if (response.responseCode == UMSResponseCodeSuccess)

        {

            //把分享完成提示框放在底部

            [UMSocialConfig setFinishToastIsHidden:NO position:UMSocialiToastPositionBottom];

            SVInfo (@"分享成功了");

        }

    }

  • 相关阅读:
    [洛谷P3931]SAC E#1
    洛谷 P4127 [AHOI2009]同类分布 解题报告
    洛谷 P4475 巧克力王国 解题报告
    洛谷 P4148 简单题 解题报告
    洛谷 P2463 [SDOI2008]Sandy的卡片 解题报告
    洛谷 P4211 [LNOI2014]LCA 解题报告
    洛谷 P4074 [WC2013]糖果公园 解题报告
    AT1219 歴史の研究 解题报告
    洛谷 P4137 Rmq Problem /mex 解题报告
    THUWC2019 摸鱼记
  • 原文地址:https://www.cnblogs.com/wangbinios/p/5509954.html
Copyright © 2020-2023  润新知