モバイルで画面フローを使う時の制限


モバイルのアプリではブラウザを前提としたカスタムコンポーネントは動作しないんです。そのため標準機能を使わないといけませんが、せめて画面フローが使えたらもう少し便利になるかどうかを検証したい。その前に制限があるかを調べましょう。


+ [モバイルホームページでは画面フローが利用できません](https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000JgynOSAR)

  + 調べてみたところ、Salesforce モバイル ホームページでは、固定リストと固定レポート「カード」のみを追加できることがわかりました。ただし、ボタンを使用するか、Lightning フロー コンポーネントを介して直接表示することで、モバイルのレコード ページに画面フローを追加できます。


  + 新しいレコードを作成しようとしても、モバイルで画面フローが表示されません。オブジェクトのすべての Lightning ページ レイアウトにフローを配置しましたが、表示されません。

  + Salesforce の標準機能では、レコード作成画面にボタンを追加することはできません。そのためには、画面フローで「新規」レコード ボタンの機能を上書きし、UnofficalSF のこのパッケージのようなものを使用してカスタム画面フローにボタンを追加する必要があります (この Web サイトには機能する可能性のあるソリューションが複数あります)。https: //unofficialsf.com/advanced-flow-navigation-button-from-gravitylab/

  + うーん、確かに、いくつかテストしてみましたが、カスタム ボタン (画面フロー用) はレコード ページにのみ追加でき、リスト ビューには追加できないようです。「新規」ボタンをオーバーライドすることはできますが、そのためには Visualforce ページまたは Lightning コンポーネントをコーディングする必要があります。

--------------

+ [モバイルでカスタム画面フローを使用しますか?](https://www.reddit.com/r/salesforce/comments/131t5td/use_custom_screen_flow_in_mobile/)

  + 最善の策は、カスタム Lightning アプリ (Lightning App Builder、App Page など) を使用することです。そこでは、フローをページに直接埋め込むことができます。

  + ただし、デスクトップ上のリスト ビュー アクションを介してこのフローを起動するため、おそらく、多数のコンポーネントが表示された画面から開始することになり、奇妙な UX になる可能性があります。理想的なのは、フローを開始するボタン コンポーネントです。このボタン コンポーネントは、フローが電話から起動されたときにのみ表示され、フローを起動する開始ポイントになります。

---------------

+ [Salesforce モバイルアプリケーションのフローアクセス、サポート、およびその他の考慮事項](https://help.salesforce.com/s/articleView?id=000382253&type=1)

現在、Salesforce for Android and iOS では、次の方法でのみフローがサポートされています。

+  [設定] | [モバイル管理] | [Salesforce ナビゲーション] または Lightning の設定: [アプリケーション] | [モバイルアプリケーション] | [Salesforce] | [Salesforce ナビゲーション] から使用できる「一時停止中のフローインタビュー」アプリケーション。
+  フローのクイックアクション。オブジェクト固有のクイックアクションは、種別を [フロー] に設定して作成できます。注意: 現時点では、グローバルアクションと画面なしのフローは使用できません。 
+  Lightning コンポーネントのフローインタビュー。Lightning コンポーネント内からフローをコールまたは操作できます。これは、lightning:flow を介して呼び出され、Lightning Experience 内でも使用できます。 

+ [【解説】Salesforce では、 Salesforceモバイルアプリを使用してレコードの所有権を転送する方法は提供されていません。画面フローで実現できます](https://automationchampion.com/2021/06/17/mass-transfer-records-using-salesforce1-app/)

次のステップは、フローを Lightning ホームページに埋め込んで、Lightning Experience または Salesforce アプリのユーザーに配布することです。

1．クイック検索ボックスに「Lightning App Builder」と入力します。
2. Lightning App Builderを選択し、ホームページの横にある編集  をクリックします 。
3.左側のLightning コンポーネント ペインから、フロー コンポーネントを Lightning ページ キャンバスにドラッグします。
4. 次の情報を入力してください:
  + 画面フローの選択 : 一括所有者移行フロー
  + レイアウト: 1列 

5.「完了」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/4c3c1440-a5cc-0dc9-16e9-08847e2c6ae4.png)

-----------

+ [現在のレコードの recordId を使用するフローがあります。正常に動作します。Salesforce モバイル アプリ (iPhone 上) から呼び出すと、画面がクリアされ、検索中の状態になります。](https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000FVyeRSAT)
+ [フィールドサービスモバイルアプリのフローを構築する](https://help.salesforce.com/s/articleView?id=sf.mfs_flow_build.htm&type=5)
+ [【解決している？】高保証設定が有効になっている場合、フローは Mobile Salesforce for iOS/Android アプリでは機能しません。](https://issues.salesforce.com/issue/a028c00000gAxwuAAC/flows-do-not-work-on-mobile-salesforce-for-iosandroid-app-when-high-assurance-setting-is-enabled)

+ [画面フローを作成し、デスクトップ ページとモバイル ページの両方に挿入したいのですが、編集ページの設定はすべて正しいのに、スマートフォンでは表示されないことに気付きました。また、アカウント オブジェクトでは画面フローが正しく表示されますが、「リード」やカスタム オブジェクトなどの他のオブジェクトでは、作成した画面フローが表示されません。](https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000LJYoySAH)

# リストビュー

+ [Salesforce for iOS/Android のリストビュー](https://help.salesforce.com/s/articleView?id=000387105&type=1)
+ [これは Android フォンなので、おそらくこれが問題だと思います。私は iPhone を使っていますが、リストを見ることができます。](https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000JgfTHSAZ)
+ [Salesforce モバイルアプリケーションのリスト項目のアクション](https://help.salesforce.com/s/articleView?id=sf.actionbar_list_item_actions_overview.htm&type=5)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/85560354-035f-488d-1f7e-dd8c36bdaf96.png)

# 実際にモバイルアプリから画面フローを使ってみましょう。

ボタンはリストビューに追加できました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/9735bcd5-03df-f93a-6245-cd8f6b5d0bfd.png)

クリックすると実は、ログインを求められました。
URLが微妙に違うかもしれません。これってアプリの外からアクセスしているのかな？

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/082773b2-fed5-5bd2-0005-b08ed5847930.png)

VF pageに飛んでいる？

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/f4bd4263-dab8-cbc1-bd17-86a28064b8c9.png)

https://help.salesforce.com/s/articleView?id=sf.domain_name_url_format_changes_enable_enhanced.htm&type=5

ページに埋め込まないとできないのかも？

# ホームページがモバイルでは表示できない

以下を選んでいるんですがねぇ

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/8843bb6c-8ad8-05b0-df43-90a4daebed9b.png)


ここも変更できない

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/5f3d4da8-4c6a-1f84-cd10-8ff315a40f72.png)

古いDE環境を立ち上げてみたら...
しかし、詳細はこちらをクリックしても肝心のヘルプは出てきません。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/97dc2605-4eb7-d05f-1b00-d14cc3d2bd0e.png)

レコードページはちゃんとデバイスが選択できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/16425666-6c4e-9699-a541-aa029cafa1bb.png)

+ [Lightning アプリケーションビルダーを使用したモバイルアプリケーションページの作成](https://help.salesforce.com/s/articleView?id=sf.lightning_app_builder_create_mobile_app_page.htm&type=5)

Salesforce モバイルアプリケーションのモバイルホームページを作成します。ユーザーにはログイン時にこのページが表示されます。

アプリケーションを選ぶ？？？

1. [設定] から、[クイック検索] ボックスに「アプリケーションビルダー」と入力し、[Lightning アプリケーションビルダー] を選択します。
2. [新規] をクリックします。
3. [**アプリケーションページ**] を選択し、[次へ] をクリックします。
4. アプリケーションページの表示ラベルを指定し、[次へ] をクリックします。表示ラベルの文字数は、最大 80 文字です。




# 関連資料

+ [Embed a Flow in a Visualforce Page](https://help.salesforce.com/s/articleView?id=sf.flow_distribute_internal_vf.htm&type=5)
+ [Salesforce モバイルアプリケーション用のカスタムローンチパッドの作成](https://help.salesforce.com/s/articleView?id=sf.salesforce_app_launchpad.htm&type=5)
+ [モバイル開発入門](https://developer.salesforce.com/docs/platform/mobile-sdk/guide/preface-intro.html)
+ [Salesforce モバイルアプリケーションでの Aura または Lightning コンポーネントの可用性](https://help.salesforce.com/s/articleView?id=000381825&type=1)

いくつかの Aura コンポーネントは、Salesforce for Android および iOS モバイルアプリケーションでは使用できません。モバイルデバイスから「Salesforce モバイルアプリケーション」のエクスペリエンスタグがないコンポーネントにアクセスすると、予期しない動作やレンダリングの不一致、またはその両方が発生する可能性があります。