隨著移動(dòng)應(yīng)用的普及,用戶分享功能逐漸成為應(yīng)用中的常見特性之一,其中iapp分享便是一款比較常見的分享插件。但在加入iapp分享的同時(shí),如何將進(jìn)入軟件的代碼加入到應(yīng)用中卻是讓許多開發(fā)者感到疑惑的問題。下面就讓我們來一探究竟。
1.iapp分享原理
iapp分享是一款支持微信、QQ、微博等社交媒體分享的插件。其原理是,用戶點(diǎn)擊分享按鈕后,調(diào)用iapp分享SDK的接口,然后SDK會(huì)自動(dòng)跳轉(zhuǎn)至對(duì)應(yīng)社交媒體的授權(quán)登錄頁(yè)面,用戶登錄成功后進(jìn)行分享,完成后返回應(yīng)用。
2.iapp分享的接入方法
接入iapp分享主要有以下兩個(gè)步驟:
在iapp官網(wǎng)上下載iappSDK,解壓后將libiappshare.a和iapp_share.h兩個(gè)文件加入到工程中,并將框架依賴加入到項(xiàng)目中。
在應(yīng)用中注冊(cè)iapp分享SDK,設(shè)置分享按鈕等相關(guān)參數(shù),具體代碼如下:
```
IshareSDK.shartType=1;//分享類型為微信
IshareSDK.url="https://www.iappstoday.com";//分享鏈接
IshareSDK.title="iapp分享";//分享標(biāo)題
IshareSDK.content="iapp分享進(jìn)入軟件的代碼添加方法";//分享內(nèi)容
```
3.iapp分享進(jìn)入軟件代碼的添加方法
首先要在info.plist文件中加入以下代碼,以允許應(yīng)用通過URLscheme打開iapp分享的授權(quán)登錄頁(yè)面。
```
LSApplicationQueriesSchemesweixinqqsinaweiboalipaywechatweibosdk```
然后利用應(yīng)用代理方法的回調(diào),在應(yīng)用進(jìn)入前臺(tái)或后臺(tái)時(shí)利用以下代碼添加iapp分享進(jìn)入應(yīng)用的代碼。
```
-(BOOL)application:(UIApplication*)applicationdidFinishLaunchingWithOptions:(NSDictionary*)launchOptions{
//Overridepointforcustomizationafterapplicationlaunch.
[iappHandlehandleOpenUrl:options];//iapp分享回調(diào)處理代碼
returnYES;
}
```
4.iapp分享進(jìn)入應(yīng)用的回調(diào)參數(shù)
在上面的代碼中,我們用到的iappHandlehandleOpenUrl方法便是iapp分享進(jìn)入應(yīng)用的回調(diào)方法。該方法會(huì)將回調(diào)URL傳入?yún)?shù)中,而參數(shù)中包含以下信息:
```
NSString*urlStr=[NSStringstringWithFormat:@"%@",url];//獲得回調(diào)URL
NSString*paramsStr=urlStr.absoluteString;//獲得回調(diào)參數(shù)字符串
NSDictionary*params=[NSDictionarydictionary];//解析回調(diào)參數(shù)
NSArray*paramsArr=[paramsStrcomponentsSeparatedByString:@"="];//以=為標(biāo)志截取參數(shù)名與參數(shù)值
NSString*param1=[urlStrsubstringToIndex:[urlStrrangeOfString:@"&"].location];//獲得第一個(gè)參數(shù)
NSString*param2=[urlStrsubstringFromIndex:[urlStrrangeOfString:@"&"].location+1];//獲得第二個(gè)參數(shù)
params=@{param1:param2};//將參數(shù)名與參數(shù)值存于字典中
```
5.iapp分享進(jìn)入應(yīng)用的跳轉(zhuǎn)方法
在獲取到回調(diào)參數(shù)后,我們可以利用以下方法跳轉(zhuǎn)到對(duì)應(yīng)的頁(yè)面:
```
-(void)jumpToTargetViewController:(NSDictionary*)params{
NSString*targetOption=[paramsobjectForKey:@"option"];//獲取目標(biāo)頁(yè)面參數(shù)
if([targetOptionisEqualToString:@"home"]){
//跳轉(zhuǎn)到主頁(yè)
}elseif([targetOptionisEqualToString:@"user"]){
//跳轉(zhuǎn)到用戶頁(yè)面
}elseif([targetOptionisEqualToString:@"product"]){
//跳轉(zhuǎn)到商品詳情頁(yè)面
}
//其他跳轉(zhuǎn)邏輯
}
```
6.iapp分享進(jìn)入應(yīng)用的測(cè)試方法
為保證iapp分享進(jìn)入應(yīng)用的流程正確無(wú)誤,我們可以通過以下方法進(jìn)行測(cè)試:
將應(yīng)用安裝到手機(jī)上,保證手機(jī)已經(jīng)安裝了微信、QQ等社交媒體應(yīng)用。
點(diǎn)擊iapp分享按鈕,跳轉(zhuǎn)至授權(quán)登錄頁(yè)面。
在授權(quán)登錄頁(yè)面上選擇微信或QQ登錄,并分享一篇文章或一張圖片。
應(yīng)用接收到回調(diào),并正確跳轉(zhuǎn)到對(duì)應(yīng)頁(yè)面。
通過以上的步驟,我們可以測(cè)試出iapp分享的功能是否正常工作,以確保用戶體驗(yàn)的順暢。
總之,將iapp分享進(jìn)入應(yīng)用的代碼添加到應(yīng)用中并不難,只要按照以上步驟進(jìn)行操作就可以了。在最終實(shí)現(xiàn)時(shí),我們還需要注意不同社交媒體的授權(quán)登錄頁(yè)面有所不同,需要根據(jù)具體情況進(jìn)行調(diào)整。