Line 是一種類似微信、QQ的社交工具行楞,維基百科介紹如下:
LINE(日語:ライン攒暇,韓語:??,官方中文名:連我)子房,是一個(gè)即時(shí)通
信軟體與流動(dòng)應(yīng)用程式形用,於2011年6月發(fā)表。用戶間可以通過互聯(lián)網(wǎng)在不額外
增加費(fèi)用情況下與其他用戶傳送文字证杭、圖片田度、動(dòng)畫、語音和影片等多媒體信息
(甚至進(jìn)行語音通話)解愤。在2016年3月以來镇饺,LINE於全球擁有超過10億人註冊(cè)
使用,其中約有高達(dá)2.15億活躍用戶.
公司項(xiàng)目需要接入Line登錄和分享功能送讲,分享一下接入時(shí)踩的坑奸笤, 本文使用的SDK版本為 3.2.1。
首先在國(guó)內(nèi)的AppStore上是搜索不到Line的APP的哼鬓。需要登錄一個(gè)國(guó)外的AppStore才能下載Line的监右。 創(chuàng)建國(guó)外地區(qū)的AppleID , 下載完成之后,可以注冊(cè)Line的賬號(hào)了异希,可以使用國(guó)內(nèi)的手機(jī)號(hào)碼注冊(cè)健盒。
首次登陸Line的開發(fā)者網(wǎng)站(當(dāng)然需要準(zhǔn)備VPN),需要客戶端上了App進(jìn)行授權(quán)驗(yàn)證称簿。
創(chuàng)建應(yīng)用味榛,下載SDK之后,就可以接入了予跌。 然后Xcode工程可以按照官網(wǎng)上設(shè)置 iOS SDK 接入登錄地址 搏色, 其中設(shè)置白名單的時(shí)候,如果需要接入分享功能券册,增加 line
字段频轿,效果如下:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>lineauth</string>
<string>line3rdp.$(APP_IDENTIFIER)</string>
<string>line</string>
</array>
獲取用戶信息接口如下:
[[mAdapter getLineApiClient] getMyProfileWithResultBlock:^(NSDictionary *aResult, NSError *aError)
{
if (aResult)
{
NSString *displayName = aResult[@"displayName"];
NSString *mid = aResult[@"id"];
NSString *pictureUrl = aResult[@"pictureUrl"];
NSString *statusMessage = aResult[@"statusMessage"];
// do something...
}
else
{
NSLog(@"%@", aError);
// do something for error...
}
}];
其中在獲取的頭像的url添加'/large'能獲取到200200大小的圖片, 添加'/small' 能獲取 5151 大小的圖片**
line 的分享主要是按照如下方式進(jìn)行的
line://msg/<CONTENT TYPE>/<CONTENT KEY>
可以分享文字或者圖片烁焙,分享文字<CONTENT TYPE> 的值為 text
, 分享圖片<CONTENT TYPE> 的值為 image
航邢。 <CONTENT TYPE> 的值需要進(jìn)行 UTF-8
編碼.
分享文字:
- (BOOL)shareMessage:(NSString *)message
{
NSString *contentType = @"text";
NSString *urlString = [NSString stringWithFormat:@"line://msg/%@/%@",contentType, message];
[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *url = [NSURL URLWithString:urlString];
if ([[UIApplication sharedApplication]canOpenURL:url]) {
return [[UIApplication sharedApplication]openURL:url];
}else{
return NO;
}
}
分享圖片:
- (BOOL)sharePicture:(NSString *)pictureUrl
{
UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:pictureUrl]];
UIImage *image = [UIImage imageWithData:data];
[pasteboard setData:UIImageJPEGRepresentation(image, 0.9) forPasteboardType:@"public.jpeg"];
NSString *contentType =@"image";
NSString *contentKey = [pasteboard.name stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString *urlString = [NSString stringWithFormat:@"line://msg/%@/%@",contentType, contentKey];
NSURL *url = [NSURL URLWithString:urlString];
if ([[UIApplication sharedApplication] canOpenURL:url]) {
return [[UIApplication sharedApplication] openURL:url];
}else{
return NO;
}
}
分享圖片時(shí) <CONTENT KEY> 的值,官網(wǎng)說明如下:
Specify value in percent encoded (utf-8) text.
By principle, only the page title and page URL may be specified.
* When sending from iPhone apps, please attach the image to the Pasteboard and set a PasteboardName in the following format: line://msg/image/(PasteboardName)
* When sending from Android devices, please specify a local image path that can be accessed by LINE in the following format: line://msg/image/(localfilepath)
* Specifying information irrelevant to the page is prohibited under the Guidelines.