社會化分享

社會化分享

廣告 - 免費推廣.

原生框架

了解內(nèi)容:(在中國不適用,只支持新浪微博和騰訊微博)
蘋果原生的只有新浪微博和騰訊微博.其他的不行.不實用.
框架:Social.
控制器:SLComposeViewController

 if ([SLComposeViewController composeViewControllerForServiceType:SLServiceTypeSinaWeibo] == NO) {
        NSLog(@"不支持微博分享服務");
    }
    // 實例化
    SLComposeViewController *composeVc = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeSinaWeibo];
    
    // 配置
    [composeVc setInitialText:@"測試用的"];
    [composeVc addImage:[UIImage imageNamed:@"nihao"]];
    
    // 結果回調(diào)參數(shù)
    // SLComposeViewControllerCompletionHandler
    composeVc.completionHandler = ^(SLComposeViewControllerResult result){
        // SLComposeViewControllerResultCancelled,
        // SLComposeViewControllerResultDone
        if (result == SLComposeViewControllerResultDone) {
            NSLog(@"分享成功");
        } else {
            NSLog(@"分享失敗");
        }
    };
    // 3. 彈出來
    [self presentViewController:composeVc animated:YES completion:nil];

第三方框架

  • shareSDK和友盟
  • 注意原理:集成所有share,但是這個分享的前提是你必須去相應網(wǎng)站配置信息.演示微信和微博的分享,只是把其他app的分享集成到一起而已,本身不能做分享的. 因此需要你分別取shareSDK上和各個需要分享到應用開放平臺上注冊appKey和appSecret.

根據(jù)shareSDK官網(wǎng)上的代碼提示.

  1. 導入ShareSDK的框架
    • 在下載的時候需要指定所分享的平臺.
  2. 導入每個SDK所需要使用的系統(tǒng)框架(根據(jù)你需要的分享平臺的系統(tǒng)框架決定)
  3. 初始化ShareSDK注冊并驗證.
  4. 代碼部分
    4.1. 導入相應的頭文件.(ShareSDK的,你需要分享的app的)
    導入時注意點:
    1. .framework用<框架名>導入,.a用"框架名"導入
    2. 注意系統(tǒng)自帶的分享不需要連接,只需要連接第三方的分享(因為第三方有SDK需要連接)
    4.2. 注冊,初始化ShareSDK應用
    根據(jù)官網(wǎng)上的示例代碼,配置參數(shù).
    //    appKey
    

// ShareSDK應用標識,可在http://mob.com中登錄并創(chuàng)建App后獲得。
// activePlatforms
// 使用的分享平臺集合,如:@[@(SSDKPlatformTypeSinaWeibo), @(SSDKPlatformTypeTencentWeibo)];
// configurationHandler
// 配置回調(diào)處理,在此方法中根據(jù)設置的platformType來填充應用配置信息
// connectHandler
// 導入回調(diào)處理,當某個平臺的功能需要依賴原平臺提供的SDK支持時,需要在此方法中對原平臺SDK進行導入操作。具體的導入方式可以參考ShareSDKConnector.framework中所提供的方法。
/// 注冊
NSArray *platforms = @[@(SSDKPlatformTypeSinaWeibo),
@(SSDKPlatformTypeWechat),
@(SSDKPlatformTypeMail),
@(SSDKPlatformTypeSMS)];
//需要連接的分享平臺
SSDKImportHandler importHandler = ^(SSDKPlatformType platformType)
{
switch (platformType)
{
case SSDKPlatformTypeWechat:
[ShareSDKConnector connectWeChat:[WXApi class]];
break;
case SSDKPlatformTypeSinaWeibo:
[ShareSDKConnector connectWeibo:[WeiboSDK class]];
break;
default:
break;
}
};
// 需要連接平臺的info參數(shù)

[ShareSDK registerApp:shareSDKAppKey activePlatforms:platforms onImport:importHandler onConfiguration:^(SSDKPlatformType platformType, NSMutableDictionary *appInfo) {
    switch (platformType)
    {
        case SSDKPlatformTypeSinaWeibo:
            //設置新浪微博應用信息,其中authType設置為使用SSO+Web形式授權,注意授權回調(diào)頁不能寫錯,得寫開放者平臺上填寫的.不然會得不到你的授權.
            [appInfo SSDKSetupSinaWeiboByAppKey:shareWeiboAppKey
                                      appSecret:shareWeiboAppSecret
                                    redirectUri:SinaWeiboRedirectUri
                                       authType:SSDKAuthTypeBoth];
            break;
        case SSDKPlatformTypeWechat:
            [appInfo SSDKSetupWeChatByAppId:shareWechatAppKey
                                  appSecret:shareWechatAppSecret];
            break;
        default:
            break;
    }
}];
```

** 注意授權回調(diào)頁不能寫錯,得寫開放者平臺上填寫的.不然會得不到你的授權. **

  1. 彈出分享界面
    5.1 彈出分享界面方法,根據(jù)方法參數(shù)配置相關參數(shù).
Snip20161031_4.png
Snip20161101_11.png

Other Linker:如果libWeiboSDK.a里面的.m(.a文件中的.m已經(jīng)被編譯成其他的東西了)文件的代碼.

//1、創(chuàng)建分享參數(shù)
    NSString *text = @"測試用的";
    
    NSArray* imageArray = @[[UIImage imageNamed:@"IMG_2213.jpg"],@"http://upload.chinaz.com/2015/0703/1435902911410.jpg"];
    
    //分享的網(wǎng)頁路徑
    NSURL *url = [NSURL URLWithString:@"http://mob.com"];
    
    NSString *title = @"分享的標題";
    
//    (注意:圖片必須要在Xcode左邊目錄里面,名稱必須要傳正確,如果要分享網(wǎng)絡圖片,可以這樣傳iamge參數(shù) images:@[@"http://mob.com/Assets/images/logo.png?v=20150320"])
    if (imageArray) {
        
        NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];
        [shareParams SSDKSetupShareParamsByText:text
                                         images:imageArray
                                            url:url
                                          title:title
                                           type:SSDKContentTypeAuto];
        // show分享
        [ShareSDK showShareActionSheet:nil items:nil shareParams:shareParams onShareStateChanged:^(SSDKResponseState state, SSDKPlatformType platformType, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error, BOOL end) {
            // SSDKResponseState表示結果狀態(tài)
            if (state == SSDKResponseStateSuccess) {
                NSLog(@"分享成功: %@, %@", userData, contentEntity);
            }
            
            if (error) {
                NSLog(@"錯誤信息: %@", error);
            }
        }];
    }

微信分享,需要跳轉進微信頁面.進行額外的配置.

  1. SSO登陸認證,跳轉APP(免登陸進行授權)
    6.1. wechat平臺需要添加sso之后才能使用,因為微信沒有網(wǎng)頁,必須走sso
    6.2. 配置info中的url scheme!
    6.3. iOS9.0之后,要配置https
    6.4. 白名單,根據(jù)官網(wǎng)配置.
Snip20161101_15.png
Snip20161101_16.png
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容