2016-05-12 12 views
3

私のiosアプリケーションにlinkedinを統合しようとしています。私のアプリがインストールされていないと、 FacebookやGmailのようなWebブラウザにリダイレクトします。私は気象linkedinがアプリケーションのインストールされていない場合、またはカスタムコードを書く必要がありますので、Webページにリダイレクトするこの種のものをサポートしたいと思いますので、カスタムコードアプリケーションがインストールされていない場合、およびインストールされている場合に作成されます。 リンクインSDKをアプリケーションに統合した後、以下のコードを記述しました。IOS:LinkedInアプリケーションがインストールされていないときにサインインがWebページにリダイレクトされない

LISDKSessionManager createSessionWithAuth:[NSArray arrayWithObjects:LISDK_BASIC_PROFILE_PERMISSION, LISDK_EMAILADDRESS_PERMISSION, nil] 
state:nil 
showGoToAppStoreDialog:YES 
successBlock:^(NSString *returnState) { 
    NSLog(@"%s","success called!"); 
    LISDKSession *session = [[LISDKSessionManager sharedInstance] session]; 
    NSLog(@"value=%@ isvalid=%@",[session value],[session isValid] ? @"YES" : @"NO"); 
    NSMutableString *text = [[NSMutableString alloc] initWithString:[session.accessToken description]]; 
    [text appendString:[NSString stringWithFormat:@",state=\"%@\"",returnState]]; 
    NSLog(@"Response label text %@",text); 
} 
errorBlock:^(NSError *error) { 
    NSLog(@"%s","error called!"); 
} 
]; 
+0

:このすべてはで説明されて

-Is the LinkedIn application installed on the device? -Is the user a LinkedIn member? -Is the user signed into the LinkedIn application on their device? -Has the user granted your application permission to access their profile? 

をiOS SDKドキュメントはありますが、明確な情報はありません。偶然にGmailやfbのようにウェブページに行く場合は、「showGoToAppStoreDialog」をNOに設定してみることをおすすめします。 – sanman

+0

linkdin sdkを統合したい場合は、デバイスにLinkDinアプリをインストールする必要があります。インストールしないと自動的に実際のデバイスにはインストールされません。 –

+0

http:///www.appcoda.com/linkedin-sign-in/ですが、OAuth 2.0を使用しています。 – sanman

答えて

0

アプリがデバイスにインストールされていない場合、エラーブロックが表示され、アプリストアからアプリをダウンロードする必要があることをユーザーに警告する必要があります。ユーザーはNOをクリックすると、OAuthログインになります。

-(void)loginViaLinkedIn 
{ 
    __weak __typeof(self)weakSelf = self; 
[LISDKSessionManager createSessionWithAuth:[NSArray 
arrayWithObjects:LISDK_BASIC_PROFILE_PERMISSION, nil] 
            state:@"some state" 
        showGoToAppStoreDialog:YES 
           successBlock:^(NSString *returnState) { 

            NSLog(@"%s","success called!"); 
            LISDKSession *session = [[LISDKSessionManager sharedInstance] session]; 
            NSLog(@"value=%@ isvalid=%@",[session value],[session isValid] ? @"YES" : @"NO"); 
            [weakSelf getLinkedInDetail]; 
           } 
           errorBlock:^(NSError *error) { 
            NSDictionary * userInfoDic = [error userInfo]; 
            NSString * info = [[userInfoDic allKeys] firstObject]; 
            if([info isEqualToString:@"You need to download the LinkedIn App in order to connect with LinkedIn"] && error.code == 3) 
            { 
             [weakSelf loginViaOAuthProtocol]; 
             // Linkedin native app not available , login with OAuth 
            } 
            else 
            { 
             [weakSelf linkedinAuthenticationResponse:nil error:error]; 
            } 
           } 
]; 

} 
+0

私は私にメソッドloginViaOAuthProtocolのコードを提供することができます私にとって大きな助けとなる –

+1

OAuthプロトコルを使ってどのようにログインできますか?私は公式の文書でそれを見つけることができません –

-1

これについての公式文書を読むことができます。 に基づいて、異なるユーザーエクスペリエンスという結果に発生する可能性があるいくつかの可能なシナリオ、あります「モバイル認証のユーザーエクスペリエンスについて」:私はLinkedInのを読ん https://developer.linkedin.com/docs/ios-sdk-auth#ux

関連する問題