.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

Flutter の step by step(其の二)。

手順1:CIBAのAD実装の準備

WebAPI

パッケージ追加

HTTPパッケージを追加する必要がある。

GET

  • Futureのメソッドチェーン
    void sendRequest() {
      http
        .get(url)
        .then((response) {
          print(response);
        })
        .catchError((error) => print(error));
    }
  • async/await
    Future<void> sendRequest() async {
      try {
        final response = await http.get(url);
        print(response);
      } on Exception caach (error) {
        print(error);
      }
    }

POST

  • 作法
    • Futureのメソッドチェーン
      ...
  • async/await
    var response = await http.post(
        "https://www.example.com/path/to/api",
        body: {
            "nickname": "chooyan",
            "description": "A freelance mobile app developer",
        },
    );
  • コンテンツ
  • application/x-www-form-urlencoded
    bodyに、Map<String, String>型 の変数を指定する。
  • application/json
    • JSON形式のString型を指定する。
    • json.encode(Map<String, String>型)でもOK。

その他

  • ヘッダ
    headersに、Map<String, String>型 の変数を指定する。
  • ...

参考

ブラウザ起動

パッケージ追加

url_launcherパッケージを追加する必要がある。

実装

_launchURL() async {
  const url = "http://https://www.google.co.jp/";
  if (await canLaunch(url)) {
    await launch(url);
  } else {
    throw 'Could not Launch $url';
  }
}

参考

カスタムURLスキーム系

  • PKCE実装のため。

定義

  • Android
    以下の定義をAndroidManifest?.xmlに追加する。
  • Deep Links
    <!-- Deep Links -->
    <intent-filter>
      <action android:name="android.intent.action.VIEW" />
      <category android:name="android.intent.category.DEFAULT" />
      <category android:name="android.intent.category.BROWSABLE" />
      <data android:scheme="app" android:host="app_a" />
    </intent-filter>
    
  • App Links
    <!-- App Links -->
    <intent-filter android:autoVerify="true">
      <action android:name="android.intent.action.VIEW" />
      <category android:name="android.intent.category.DEFAULT" />
      <category android:name="android.intent.category.BROWSABLE" />
      <data android:scheme="http" android:host="example.com" />
    </intent-filter>
  • iOS
    • Custom URL schemes
    • Universal Links
  • Web
    なし。

実装

ロケーション・バー直では、動かないとのこと。
以下のHTMLを作成し、ソコから飛んでみる。

  • 送信
    • Deep Links
      <!DOCTYPE html>
      <html>
        <body>
          <a href="app://app_a/">App Aに飛ぶ</a>
        </body>
      </html>
  • App Links
    <!DOCTYPE html>
    <html>
      <body>
        <a href="http://example.com/">App Aに飛ぶ</a>
      </body>
    </html>
  • 受信
    素書すると辛労そう。
    flutter_appauthを使うのが良さそう。
  • Android
    • Deep Links
    • App Links
  • iOS
    • Custom URL schemes
    • Universal Links
  • Web
    onGenerateRoute?で実装する。

参考

プッシュ通知

  • 色々なプラグインがあるが、使うとmBaaSにロックインされる。
  • FCMは実質デファクトなのでロックインの影響も少ない。

設定手順

https://firebase.flutter.dev/docs/messaging/overview/

  • 準備(iOSのみ)
    • APNs入手
    • APNs認証キー、またはAPNs証明書の入手

APNs統合

iOSシミュレータでは動作しない。

FCMへアプリを登録

ファイルのダウンロード

ビルド・プロセスへの組込

Android、iOS、其々のプラットフォームに向けて、

パッケージ追加

firebase_messagingパッケージを追加する必要がある。

プッシュ通知のコード実装

参考

手順2:業務ぃーな、CRUDを実装してみる。

参考


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2021-04-13 (火) 10:21:35 (27d)