スマートフォンで「別アプリの新規レコード作成画面に遷移させて値をセット」する方法

初めて質問させて頂きます。質問者としてのマナーについてもご指導頂ければ幸いです。

関連レコードの参照先アプリに簡単レコード登録 を参照にして、これをスマートフォンで利用しようとしております。

PCは、別アプリの新規レコード作成画面に遷移させて、別アプリの方に値をセットすることができたのですが、
スマートフォンだと、別アプリの方に値をセットしてくれません。

Chromeデベロッパーツールで確認したところ以下のエラーになっていました。
Uncaught TypeError: Cannot read properties of null (reading ‘record’)
。。。「new_app.mobile.app.record.get()」のレスポンスがnullになっていて、new_recordに値をセットできなかったみたいです。

スマートフォンの対応方法をご教示いただきたくお願いいたします。

スマートフォン用に変更したjavascriptは以下になります。

(function() {
  ‘use strict’;
  kintone.events.on(‘mobile.app.record.detail.show’, (event) => { // 「mobile.」追加
    const myButton = document.createElement(‘button’);
    myButton.id = ‘my_button’;
    myButton.innerText = ‘テスト’;

    myButton.onclick = function() {

      const new_window = window.open(‘https://(サブドメイン名).cybozu.com/k/m/(アプリID)/edit’); // 「/m」追加
        new_window.addEventListener(‘load’, () => {
        window.postMessage(new_window.kintone != null, location.origin);
      });
      window.addEventListener(‘message’, (function() {
        return function field_set() {
          // 新規レコード側のフィールドを指定してsetする
          const new_app = new_window.kintone;
          const new_record = new_app.mobile.app.record.get(); // 「mobile.」追加
          new_record.record.testField.value = ‘テストテスト’;
          new_app.mobile.app.record.set(new_record); // 「mobile.」追加
          window.removeEventListener(‘message’, field_set, false);
        };
      })(), false);
    };
    const myHeaderSpace = kintone.mobile.app.getHeaderSpaceElement(); // 「mobile.app.getHeaderSpaceElement()」に変更
    myHeaderSpace.appendChild(myButton);
    return event;
  });
})();

試したことを共有しておきます。
もしかしたら、loadイベントのタイミングでは、まだmobileの情報をget()できる状態になっていないのではないかと思い、少し待ってみました。

(変更箇所:loadイベントでpostMessageするところを以下の通り変更)

new_window.addEventListener('load', () => {
setTimeout(() => {
window.postMessage(new_window.kintone != null, location.origin);
}, 10000);
});

すると以下の結果になりました。
・chrome検証のiPhone。。。OK、別アプリの方に値をセット
・iPhoneブラウザ。。。。。OK、別アプリの方に値をセット
・iPhoneモバイルアプリ。。NG、別アプリの方に値をセットしてくれません。

さらに親ウィンドウ(window.opener)があるのか調べてみたら以下の通りでした。
・chrome検証のiPhone。。。あり
・iPhoneブラウザ。。。。。あり
・iPhoneモバイルアプリ。。無し

モバイルアプリでは、この方法が使えないと判断して、この方法での実現をあきらめることにしました。
別の方法を検討します。
例えば、
以下を参考にしてセッションストレージを使う方法とか
モバイル版でのアプリアクションの再現

以下を参考にしてURLパラメータを使う方法を試してみます。
URL内のパラメーターで、レコード追加画面で値入力

はじめまして

気になったので、もしお力になれればと思いました

<前提>

・JSの事が解ると認識

・モバイルで新規画面を表示する所までは行えている

モバイルで新規画面が開く事が出来るのであれば、下記の2つの方法があるかと思います
①新規画面を開くアクションを起こす画面から、HTMLのパラメータに値を付けて、新規画面で値を取り設定する

※文字列がある場合は、エンコードする必要があります
②新規画面を開いてから、APIで必要な値を取得し設定する

※①にて文字列があるのであれば、②にてAPIを叩いて取得する方が開発量は少ないです

私はエンコードが手間だったので、APIを叩いて値を取得し対応しました

もし参考になれば幸いです