「Android用認証プラグイン」は、AndroidネイティブアプリでAPIを使用する際に必要な認証機能を提供するjar形式のファイルです。当プラグインを使用することによってAndroid端末ローカル上にあるhtmlファイルからAPIを使用することが可能になります。
※)有料版ユーザのみご利用いただけます
※)認証にはコンシューマ・キー、コンシューマ・シークレットが必要です。詳細は担当営業までお問い合わせ下さい
※)別途、プラグインをクラスパスに追加する必要があります。こちらから取得して下さい
※)動作確認済みのOSはAndroid OS 2.3 ~ 6.0です。
上記以外のバージョンは動作未確認あるいは動作しない事が確認されております。
※)apiドキュメントは以下のリンクをクリックすると別ページで開きます
※)AndroidManifest.xmlにINTERNETとACCESS_NETWORK_STATEのPermissionsが必要です
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
APIを利用して地図を表示するには、 ItsmoNaviOauthClientクラスのinitSettingsメソッドで画面情報を設定した後、loadJsメソッドを実行します。
package sample.oauth; import itsmonavi.api.oauth.client.Callback; import itsmonavi.api.oauth.client.ErrorCode; import itsmonavi.api.oauth.client.ItsmoNaviOauthClient; import itsmonavi.api.oauth.client.ItsmoNaviException; import itsmonavi.api.oauth.client.Env; import android.os.Bundle; import android.app.Activity; import android.view.ViewGroup; import android.view.ViewGroup.LayoutParams; import android.webkit.WebChromeClient; import android.webkit.WebView; import android.widget.Toast; public class MainActivity extends Activity { private final int MP = ViewGroup.LayoutParams.MATCH_PARENT; /** * OAuth認証で使用するコンシューマ・キー */ private static String CONSUMER_KEY = "*********************"; /** * OAuth認証で使用するコンシューマ・シークレット */ private static String CONSUMER_SECRET = "***************************"; /** * 地図を表示するWebView */ private WebView mWebView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mWebView = new WebView(this); // WebViewでのJavaScriptのalertを表示させるために設定する mWebView.setWebChromeClient(new WebChromeClient()); setContentView(mWebView, new LayoutParams(MP, MP)); // コンシューマ・キー、コンシューマ・シークレット、環境情報を元にItsmoNaviOauthClientのインスタンスを生成する ItsmoNaviOauthClient oauthClient = new ItsmoNaviOauthClient( CONSUMER_KEY, CONSUMER_SECRET, Env.PRODUCTION // 本番環境を指定 ); // 画面情報を設定する oauthClient.initSettings( mWebView, "index.html", // assetsディレクトリに配置したhtmlファイル // ローダのパラメータ。エラー時、JavaScriptのアラート表示させるためalert=1を指定 "?ver=2.0&alert=1&enc=UTF8&api=zdcmap.js,control.js,shape.js,search.js" ); // apiをロードする oauthClient.loadJs(this, new Callback() { @Override public void postExecute() { // apiロード成功時の処理 Toast.makeText(MainActivity.this, "loaded!!", Toast.LENGTH_SHORT).show(); } @Override public void afterError(ItsmoNaviException e) { ErrorCode errorCode = e.getErrorCode(); // apiロード失敗時はエラーコードを判別し、エラーメッセージを表示する if (errorCode == ErrorCode.CONNECTION_FAILED) { Toast.makeText(MainActivity.this, "通信エラーが発生しました。", Toast.LENGTH_SHORT).show(); } else if (errorCode == ErrorCode.FILE_READ_ERROR) { Toast.makeText(MainActivity.this, "ファイル読込み時にエラーが発生しました。", Toast.LENGTH_SHORT).show(); } else if (errorCode == ErrorCode.NOT_AUTHORIZED) { Toast.makeText(MainActivity.this, "認証エラーが発生しました。", Toast.LENGTH_SHORT).show(); } } }); } }