AndroidでTwitter認証を実装する方法
16 分
androidアプリにtwitterログインを追加する方法 はじめに このセクションでは、twitterログインを使用してユーザー登録を行うアプリを作成する方法を説明します。 parse serverのコア機能 https //www back4app com/product/parse server をback4appを通じて。 このようになります いつでも、このチュートリアルで構築した完全なandroidプロジェクトにアクセスできます。 githubリポジトリ https //github com/back4app/android geopoints tutorial にて。 前提条件 このチュートリアルを完了するには、 android studio https //developer android com/studio/index html back4appで作成されたアプリ。 注意 新しいparseアプリのチュートリアル https //www back4app com/docs/get started/new parse app を参照して、back4appでparseアプリを作成する方法を学んでください。 back4appに接続されたandroidアプリ。 注意 parse sdkのインストールチュートリアル https //www back4app com/docs/android/parse android sdk を参照して、back4appに接続されたandroid studioプロジェクトを作成してください。 android 4 1(jelly bean)以上を実行しているデバイス(または 仮想デバイス https //developer android com/studio/run/managing avds html )。 1 twitterの設定 twitter機能を使用するには、次のことが必要です。 に行く twitterアプリケーション管理ウェブサイト https //apps twitter com/ , twitterアカウントでサインインし、 \<font color="#2166ae">新しいアプリを作成\</font> をクリックします。 に必要事項を記入します \<font color="#2166ae">アプリケーションの詳細\</font> \<font color="#2166ae">コールバックurl\</font> を指定するように求められたら、 \<font color="#2166ae">twittersdk //\</font> を挿入してください。これは、 必須 であり、twitterを通じた認証を有効にするためです。 3\ \<font color="#2166ae">開発者契約\</font> をクリックし、次に \<font color="#2166ae">twitterアプリケーションを作成\</font> をクリックします。 4\ あなたのandroid studioプロジェクトを開き、次を見つけます \<font color="#2166ae">build gradle (module app)\</font> と \<font color="#2166ae">dependencies{}\</font> セクションに、parse twitter utils sdk for androidをインストールするための以下のコードを追加します。 1 // 下の行をparse twitter utils sdk for androidの最新バージョンに変更するのを忘れないでください 2 implementation 'com github parse community\ parsetwitterutils android\ latest version here' parse facebook utils sdk for androidのバージョンを最新のものに更新することを忘れないでください。最新のバージョンは jitpackウェブサイト https //jitpack io/ で確認できます。次の手順に従ってください jitpackウェブサイトで、 \<font color="#2166ae">parse community/parsetwitterutils android\</font> を \<font color="#2166ae">git repo url\</font> ボックスに貼り付けます。 その後、 \<font color="#2166ae">look up\</font> ボタンをクリックします。次に、parse twitter utils sdk for androidの利用可能なバージョンが表示されるはずです。以下の画像に示されています。 2 twitterアプリをback4appにリンクする android studioプロジェクト内で、parse sdkを初期化するために作成した \<font color="#2166ae">app\</font> という名前のjavaファイルの \<font color="#2166ae">oncreate\</font> メソッド内で、 \<font color="#2166ae">parse initialize()\</font> の呼び出しの直後に、以下のコードを使用してparse twitter utils sdkを初期化します。 1 parsetwitterutils initialize(getstring(r string twitter consumer key), getstring(r string twitter consumer secret)); このステップで説明されているように、 \<font color="#2166ae">app java\</font> ファイルがない場合は、 android用のparse sdkをインストール https //www back4app com/docs/android/parse android sdk のドキュメントにアクセスし、parse sdkを正しくインストールするために必要なすべての手順を実行したことを確認してください。parse sdkを正しくインストールしないと、parseでのfacebookログインは機能しません。 2\ \<font color="#2166ae">app\</font> > \<font color="#2166ae">res\</font> > \<font color="#2166ae">values\</font> > \<font color="#2166ae">strings xml\</font> ファイルに移動します。 「 \<font color="#2166ae">strings xml\</font> 」ファイルに次のコードを追加します \<! 必要に応じて以下の文字列を変更してください > \<string name="twitter consumer key">paste your twitter consumer key\</string>\<string name="twitter consumer secret">paste your twitter consumer secret\</string> 2\ 「 \<font color="#2166ae">string xml\</font> 」を開いたままにして、back4appのウェブサイトに移動し、ログインして「 \<font color="#2166ae">マイアプリ\</font> 」をクリックします。アプリを見つけて、「 \<font color="#2166ae">サーバー設定\</font> 」をクリックします。 「twitterログイン」ブロックを見つけて、 \<font color="#2166ae">設定\</font> をクリックします。「twitterログイン」ブロックはこのように見えます 2\ あなたが訪れた「back4app twitterログイン」ページを開いたままにして、 twitterアプリケーション管理ウェブサイト https //apps twitter com/ に行き、あなたのアプリを見つけてその名前をクリックします。 3\ 「キーとアクセストークン」をクリックし、消費者キー(apiキー)と消費者シークレット(apiシークレット)をコピーして、back4app twitterログインページに貼り付け、それぞれのフィールドを埋めます。最後に「保存」をクリックします。消費者キー(apiキー)と消費者シークレット(apiシークレット)はこのように見えます 4\ また、 \<font color="#2166ae">消費者キー (apiキー)\</font> と \<font color="#2166ae">消費者シークレット (apiシークレット)\</font> をコピーして、 \<font color="#2166ae">strings xml\</font> ファイルに貼り付けます。 4 ログイン あなたの \<font color="#2166ae">loginactivity\</font> にインポートします 1 import android app alertdialog ; 2 import android app progressdialog ; 3 import android content dialoginterface ; 4 import android content intent ; 5 import android support v7 app appcompatactivity ; 6 import android os bundle ; 7 import android view\ view ; 8 import android util log ; 9 import android widget button ; 10 import android widget toast ; 11 12 import com parse logincallback ; 13 import com parse parseexception ; 14 import com parse twitter parsetwitterutils ; 15 import com parse parseuser ; 16 import com parse savecallback ; 2\ twitterログインを実装するには、以下のコードを使用してください 1 parsetwitterutils login(loginactivity this, new logincallback() { 2 3 @override 4 public void done(final parseuser user, parseexception err) { 5 if (err != null) { 6 dlg dismiss(); 7 parseuser logout(); 8 log e("err", "err", err); 9 } 10 if (user == null) { 11 dlg dismiss(); 12 parseuser logout(); 13 toast maketext(loginactivity this, "the user cancelled the twitter login ", toast length long) show(); 14 log d("myapp", "uh oh the user cancelled the twitter login "); 15 } else if (user isnew()) { 16 dlg dismiss(); 17 toast maketext(loginactivity this, "user signed up and logged in through twitter ", toast length long) show(); 18 log d("myapp", "user signed up and logged in through twitter!"); 19 user setusername(parsetwitterutils gettwitter() getscreenname()); 20 user saveinbackground(new savecallback() { 21 @override 22 public void done(parseexception e) { 23 if (null == e) { 24 alertdisplayer("first tome login!", "welcome!"); 25 } else { 26 parseuser logout(); 27 toast maketext(loginactivity this, "it was not possible to save your username ", toast length long) show(); 28 } 29 } 30 }); 31 } else { 32 dlg dismiss(); 33 toast maketext(loginactivity this, "user logged in through twitter ", toast length long) show(); 34 log d("myapp", "user logged in through twitter!"); 35 alertdisplayer("oh, you!","welcome back!"); 36 } 37 } 38 }); この例のプロジェクトでは、このコードは \<font color="#2166ae">twitterでログイン\</font> ボタンのコールバック内に配置されています。 3\ アラートダイアログを表示するメソッドを追加すると、プロセスがよりプロフェッショナルに見えるのが興味深いです。以下のメソッドはこれを実現します 1 private void alertdisplayer(string title,string message){ 2 alertdialog builder builder = new alertdialog builder(loginactivity this) 3 settitle(title) 4 setmessage(message) 5 setpositivebutton("ok", new dialoginterface onclicklistener() { 6 @override 7 public void onclick(dialoginterface dialog, int which) { 8 dialog cancel(); 9 // don't forget to change the line below with the names of your activities 10 intent intent = new intent(loginactivity this, logoutactivity class); 11 intent addflags(intent flag activity clear task | intent flag activity new task); 12 startactivity(intent); 13 } 14 }); 15 alertdialog ok = builder create(); 16 ok show(); 17 } 5 ログアウト あなたの \<font color="#2166ae">loginactivity\</font> にインポートします 1 import android app alertdialog ; 2 import android app progressdialog ; 3 import android content dialoginterface ; 4 import android content intent ; 5 import android support v7 app appcompatactivity ; 6 import android os bundle ; 7 import android view\ view ; 8 import android widget button ; 9 10 import com parse parseuser ; 2\ twitterログアウトを実装するには、以下のコードを使用してください 1 parseuser logout (); 2 alertdisplayer ( "あなたは行くのですね " , "わかりました さようなら" ); この例のプロジェクトでは、このコードは \<font color="#2166ae">twitter経由でログアウト\</font> ボタンのコールバック内に配置されています。 メソッド \<font color="#2166ae">alertdisplayer\</font> は、あなたが \<font color="#2166ae">loginactivity\</font> に追加したものと同じです。 \<font color="#2166ae">intent\</font> 引数を変更することを忘れないでください。あなたのandroid studioプロジェクトのstrings xmlファイル内で。 完了しました! この段階で、あなたはparse serverのコア機能を通じてback4appを使用して、twitterでアプリにログイン、登録、ログアウトできます!