標籤:
1.整合友盟分享,需要先註冊一個友盟帳號,登入位址
友盟開發人員平台官網 友盟整合文檔
友盟sdk友盟sdk
2,成功下載sdk整合後,分享需要配置一下
新浪微博 之類到同樣配置就行
3.整合完之後就開始上代碼了
ShareManage.h
- //
- // ShareManage.h
- // KONKA_MARKET
- //
- // Created by wxxu on 14/12/18.
- // Copyright (c) 2014年 archon. All rights reserved.
- // 分享管理
-
- // 友盟APIKey
- #define UMeng_APIKey @""//友盟appKey
- #define WX_APP_KEY @""//appId
- #define WX_APP_SECRET @""//appSecret
- #define share_title @""//分享標題
- #define share_content @""//分享內容
- #define share_url @""//分享url
- #import <Foundation/Foundation.h>
- #import <MessageUI/MessageUI.h>
- @interface ShareManage : NSObject <MFMessageComposeViewControllerDelegate>
- + (ShareManage *)shareManage;- (void)shareConfig;/**分享**/
- - (void)wxShareWithViewControll:(UIViewController *)viewC;/**新浪微博分享**/- (void)wbShareWithViewControll:(UIViewController *)viewC;/**朋友圈分享**/- (void)wxpyqShareWithViewControll:(UIViewController *)viewC;/**簡訊分享**/- (void)smsShareWithViewControll:(UIViewController *)viewC;@end
ShareManage.m
- //
- // ShareManage.m
- // KONKA_MARKET
- //
- // Created by wxxu on 14/12/18.
- // Copyright (c) 2014年 archon. All rights reserved.
- // 分享管理
-
- #import "ShareManage.h"
- #import "UMSocial.h"
- #import "UMSocialWechatHandler.h"
- #import "WXApi.h"
-
- @implementation ShareManage {
- UIViewController *_viewC;
- }
-
- static ShareManage *shareManage;
-
- + (ShareManage *)shareManage
- {
- @synchronized(self)
- {
- if (shareManage == nil) {
- shareManage = [[self alloc] init];
- }
- return shareManage;
- }
- }
-
- #pragma mark 註冊友盟分享
- - (void)shareConfig
- {
- //設定友盟社會化組件appkey
- [UMSocialData setAppKey:UMeng_APIKey];
- [UMSocialData openLog:YES];
-
- //註冊
- [WXApi registerApp:WX_APP_KEY];
- //設定圖文分享
- [UMSocialData defaultData].extConfig.wxMessageType = UMSocialWXMessageTypeWeb;
- }
-
- #pragma mark 分享
- - (void)wxShareWithViewControll:(UIViewController *)viewC
- {
- _viewC = viewC;
- [[UMSocialControllerService defaultControllerService] setShareText:share_content shareImage:nil socialUIDelegate:nil];
-
- [UMSocialWechatHandler setWXAppId:WX_APP_KEY appSecret:WX_APP_SECRET url:share_url];
- [UMSocialSnsPlatformManager getSocialPlatformWithName:UMShareToWechatSession].snsClickHandler(viewC,[UMSocialControllerService defaultControllerService],YES);
- }
-
- #pragma mark 新浪微博分享
- - (void)wbShareWithViewControll:(UIViewController *)viewC
- {
- _viewC = viewC;
- [[UMSocialControllerService defaultControllerService] setShareText:share_content shareImage:nil socialUIDelegate:nil];
- [UMSocialSnsPlatformManager getSocialPlatformWithName:UMShareToSina].snsClickHandler(viewC,[UMSocialControllerService defaultControllerService],YES);
- }
-
- #pragma mark 朋友圈分享
- - (void)wxpyqShareWithViewControll:(UIViewController *)viewC
- {
- _viewC = viewC;
- [[UMSocialControllerService defaultControllerService] setShareText:share_content shareImage:nil socialUIDelegate:nil];
- [UMSocialWechatHandler setWXAppId:WX_APP_KEY appSecret:WX_APP_SECRET url:share_url];
- [UMSocialSnsPlatformManager getSocialPlatformWithName:UMShareToWechatTimeline].snsClickHandler(viewC,[UMSocialControllerService defaultControllerService],YES);
- }
-
- #pragma mark 簡訊分享
- - (void)smsShareWithViewControll:(UIViewController *)viewC
- {
- _viewC = viewC;
- Class messageClass = (NSClassFromString(@"MFMessageComposeViewController"));
- if (messageClass != nil) {
- if ([messageClass canSendText]) {
- [self displaySMSComposerSheet];
- }
- else {
- //@"裝置沒有簡訊功能"
- }
- }
- else {
- //@"iOS版本過低,iOS4.0以上才支援程式內傳送簡訊"
- }
- }
-
- #pragma mark 簡訊的代理方法
- - (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result{
- [_viewC dismissViewControllerAnimated:YES completion:nil];
- switch (result)
- {
- case MessageComposeResultCancelled:
-
- break;
- case MessageComposeResultSent:
- //@"感謝您的分享!"
- break;
- case MessageComposeResultFailed:
-
- break;
- default:
- break;
- }
- }
-
- - (void)displaySMSComposerSheet
- {
- MFMessageComposeViewController *picker = [[MFMessageComposeViewController alloc] init];
- picker.messageComposeDelegate = self;
- picker.navigationBar.tintColor = [UIColor blackColor];
- // picker.recipients = [NSArray arrayWithObject:@"10086"];
- picker.body = share_content;
- [_viewC presentViewController:picker animated:YES completion:nil];
- }
- @end
-
博文二
之前使用過,shareSDK。到了新公司,新公司使用友盟。
友盟的挺簡單的。特分享幾個注意點
0、後來想到的,微博和友盟的綁定
友盟的使用是很簡單,但是,友盟的網站好難用,有木有!!!啥思路
接著,吐槽。添加了一個新的應用,居然,在我的應用程式裡找不到!但是,在這
可以找到,不過,第二天,就在我的應用程式找到了。
神邏輯呀!
1、QQ空間的分享。之前老是報錯
- 2014-09-18 09:52:00.030 友盟快速[239:60b] 分享到QQ空間必須設定圖片+文字訊息
- 2014-09-18:09:52:00:034 -QQAPI- QQApi.m:300 param error:qzone not support type
在真機上的錯誤是,無法開啟手機QQ。因為,分享到qq好友,可以,所以肯定不是無法開啟手機QQ。
在網上找了許多,都沒有直接說明這個問題的。給客服反映,客服木有反應(這點不如,shareSDK)。
一個半小時,有木有。問題。我早就解決了!
後來,看到,有個開發人員說到,圖片和文字為什麼不能一起分享,題目和文字怎麼分開。我想,是不是我分享的文字的原因,我只是寫了“這是要分享的文字”。於是隨手添加了N多無聊的文字。可以分享了。
2、QQ好友分享。只有連結
這個就是因為,你分享了圖片。如果去掉圖片,可以看到文字了。
3、設定QQ各種title
支援title設定的平台:QQ、QQ空間、、朋友圈
- QQtitle設定方法:
- [UMSocialData defaultData].extConfig.qqData.title = @"QQtitle";
- QQ空間title設定方法:
- [UMSocialData defaultData].extConfig.qzoneData.title = @"Qzonetitle";
- title設定方法:
- [UMSocialData defaultData].extConfig.wechatSessionData.title = @"title";
- 朋友圈title設定方法:
- [UMSocialData defaultData].extConfig.wechatTimelineData.title = @"朋友圈title";
4、關於QQ類,無法返回(不包括)
如果,你查看網頁,給出的答案是,設定scheme。但是這樣還是不行。其實,只要你去友盟的後台綁定一下,QQ空間APPkey綁定就可以類。十六進位那個。
最後,給大家個絕招。
如果,你某個功能實現不了。
使用友盟的帳號試試。其實,直接用它的就好。
我有個功能實現不了,調試了一下午都不行。最後,用都絕招成功。只能說,這個帳號不對。
做這個功能,主要是帳號申請費勁,還不一定對,所以,絕招一定要用的!
iOS開發-友盟分享(1)