日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

使用 SDK

在完成添加分享組件的 SDK 后,您還需要對工程進行配置,在初始化后即可開始使用分享組件。

本文將結合 分享官方 Demo 介紹如何在 10.1.60 及以上版本的基線中使用分享 SDK。

配置工程

配置第三方應用跳轉白名單

iOS 9 及以上系統中,要支持應用的分享和授權等操作,需要配置 Scheme 名單。系統會自動到工程的 info.plist下檢測是否設置了應用的 Scheme,對于需要跳轉的應用,如果沒有配置,就無法正常跳轉。

p3.png

各渠道對應的 Value 如下:

  • 微信:weixinULAPI、wechat、weixin。

  • 微博:sinaweibohd、sinaweibo、weibosdk、weibosdk2.5。

  • 支付寶:alipay、alipayShare。

  • QQ:mqq、mqqapi、mqqwpa、mqqOpensdkSSoLogin。

  • 釘釘:dingtalk、dingtalk-open。

配置 URL Scheme

為保證可以從各渠道應用正確跳轉回當前應用,需在當前工程的 Info.plist 文件中加入 urlScheme(從各分享渠道獲取)。

  • 微信回調源 App 的 scheme 均為分配的 key

  • 微博的 scheme 為 "wb" + key

  • QQ 的 scheme 為 "tencent" + APPID

  • 支付寶的 Identifier 為 alipayShare,scheme 為 'ap' + APPID

初始化設置

使用分享組件時,首先需要在對應第三方平臺創建對應的應用信息,然后使用應用的信息進行注冊(包括 appId,appSecret,universalLink 等信息),注冊使用的方法如下所示。

使用 mPaaS 框架時

在 DTFrameworkInterface的分類中實現下列方法,并在此方法中以詞典的形式返回 key、secret 的值。

重要

mPaaS SDK 版本 ≥ 10.1.60 開始,微信 SDK 已經更新到 1.8.6.1,需要進行 Universal Link 的校驗,所以在配置密鑰的同時需要配置對應的 Universal Link。

-(void)application:(UIApplication *)application beforeDidFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    NSDictionary *configDic = @{
        @"weixin" : @{@"key":@"xxxxxxxxxxxxxx", @"secret":@"xxxxxxxxxxxxxxx", @"universalLink":@"https://mpaas.example.com/"},
        @"weibo" : @{@"key":@"xxxxxxxxxx", @"secret":@"xxxxxxxxxxxxxxxxx"},
        @"qq" : @{@"key":@"xxxxxxxxx", @"secret":@"xxxxxxxxxx"},
        @"alipay": @{@"key":@"xxxxxxxxxxxxx"},/*該 key 對應的 bundleID 為"com.alipay.share.demo", 如需用來測試,請修改為自己申請的 key 或修改 bundleID 為"com.alipay.share.demo"*/
        @"dingTalk": @{@"key":@"xxxxxxxxxxxxxxxx"}};
    [APSKClient registerAPPConfig:configDic];
}

不使用 mPaaS 框架時

在接入應用的啟動方法中注冊密鑰。

重要

mPaaS SDK 版本 ≥ 10.1.60 開始,微信 SDK 已經更新到 1.8.6.1,需要進行 Universal Link 的校驗,所以在配置密鑰的同時需要配置對應的 Universal Link。

-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    NSDictionary *dic = @{
        @"weixin" : @{@"key":@"xxxxxxxxxxxxxx", @"secret":@"xxxxxxxxxxxxxxx",@"universalLink":@"https://mpaas.example.com/"},
        @"weibo" : @{@"key":@"xxxxxxxxxx", @"secret":@"xxxxxxxxxxxxxxx"},
        @"qq" : @{@"key":@"xxxxxxxxxx", @"secret":@"xxxxxxxxxxxxxx"},
        @"alipay" : @{@"key":@"xxxxxxxxxxxxxxxx"},/*該 key 對應的 bundleID 為"com.alipay.share.demo", 如需用來測試,請修改為自己申請的 key 或修改 bundleID 為"com.alipay.share.demo"*/
        @"dingTalk": @{@"key":@"xxxxxxxxxxxxxxxxxxx"}};
    [APSKClient registerAPPConfig:dic];
}

基礎功能

分享

喚起分享選擇面板

在喚起分享面板時可以指定需要顯示的渠道。

NSArray *channelArr = @[kAPSKChannelQQ, kAPSKChannelLaiwangContacts, kAPSKChannelLaiwangTimeline, kAPSKChannelWeibo, kAPSKChannelWeixin, kAPSKChannelCopyLink,kAPSKChannelDingTalkSession];

self.launchPad = [[APSKLaunchpad alloc] initWithChannels:channelArr sort:NO];
self.launchPad.delegate = self;  
[self.launchPad showForView:[[UIApplication sharedApplication] keyWindow] animated:YES];

完成分享操作

在 @protocol APSKLaunchpadDelegate的 sharingLaunchpad回調中執行分享操作。

-(void)sharingLaunchpad:(APSKLaunchpad *)launchpad didSelectChannel:(NSString *)channelName
{
    [self shareUrl:channelName];
    [self.launchPad dismissAnimated:YES];
}

- (void)shareUrl:(NSString*)channelName
{
    //生成數據,調用對應渠道分享
    APSKMessage *message = [[APSKMessage alloc] init];
    message.contentType = @"url";//類型分"text","image", "url"三種
    message.content = [NSURL URLWithString:@"www.example.com.cn"];
    message.icon = [UIImage imageNamed:@"1"];
    message.title = @"標題";
    message.desc = @"描述";

    APSKClient *client = [[APSKClient alloc] init];

    [client shareMessage:message toChannel:channelName completionBlock:^(NSError *error, NSDictionary *userInfo) {
        //userInfo 為擴展信息
        if(!error)
        {
            //your logistic
        }
        NSLog(@"error = %@", error);
    }];    
}

從渠道應用跳回的處理

  • 當使用 mPaaS 框架時不需要處理,會由框架負責。

  • 當不使用 mPaaS 框架時參照下列代碼進行處理。

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
    //加入分享成功后,從渠道 APP 回到源 APP 的處理
    BOOL ret;  
    ret = [APSKClient handleOpenURL:url];  
    return ret;
}

開放服務

通過第三方開發服務接口,可以調用第三方渠道分享 SDK 中提供的其他開放服務。目前支持的開放服務有 微信一次性訂閱消息和 拉起微信小程序

請求開放服務的操作流程

請求開放服務的操作流程如下:

// 1. 創建請求對象
APSKOpenServiceRequest *req = [APSKOpenServiceRequest new];
// 2. 設置請求類型
req.requestType = APSKOpenServiceRequestTypeLaunchMini;
// 3. 設置所需參數
MPSKLaunchMiniProgramParam *param = [[MPSKLaunchMiniProgramParam alloc] init];
param.userName = @"xxxxxxxx";
param.path = @"/index.html";
param.miniProgramType = MPSKWXMiniProgramTypeTest;

req.param = param;

// 4. 創建 client 對象
APSKClient *client = [APSKClient new];
// 5. 請求服務
[client requestOpenService:req toChannel:kAPSKChannelWeixin completionBlock:^(NSError *error, NSDictionary *userInfo) {
    // 6. 回調
    if (error) {
        NSLog(@"%@", error);
    }
}];

從渠道應用跳回的處理

從渠道應用跳回后,需要根據客戶端是否采用 mPaaS 框架進行不同的處理。

  • 如果客戶端使用了 mPaaS 框架,在跳回后框架會負責處理。

  • 如果客戶端沒有使用 mPaaS 框架,請您參照下列代碼進行跳回后的處理。

  - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
  {
      // 從渠道 APP 回到源 APP 的處理
      BOOL ret;  
      ret = [APSKClient handleOpenURL:url];  
      return ret;
  }