@amazon-devices/react-native-cookiesライブラリは、React NativeアプリでCookieを管理する手段を提供します。
Cookieは、ウェブサイトの閲覧中にウェブブラウザによってユーザーのデバイスに保存される小さいデータです。Cookieは、ウェブサイトがステートフルな情報を記憶したり、ユーザーの閲覧アクティビティを記録したりするための信頼できるメカニズムとなるように設計されています。
インストール
-
package.jsonファイルにJavaScriptライブラリの依存関係を追加します。 -
npm installコマンドを使用して、依存関係を再インストールします。
例
以下の例は、このライブラリに既に実装されているすべてのメソッドを示しています。APIリファレンス
@react-native-cookies/cookiesのGitHubリポジトリから、公式のREADME(英語のみ)を確認してください。 以下の一覧は、実装されている関数の現在の状態を示しています。- Cookieオブジェクトに
domainフィールドが指定されていない場合は、代わりにURLホストが使用されます。 - Cookieオブジェクトに
pathが指定されていない場合は、空のパス(/)と見なされます。 - Vegaプラットフォームでは、useWebKitパラメーターを受け取るメソッドで
useWebKit = trueを設定するとノーオペレーションになります。値を指定しない場合、useWebKitはデフォルトでfalseになります。 - URLを受け取るメソッドに不適切な形式のURLを渡すと、エラーメッセージが返されます。
実装の詳細
- Cookieオブジェクトの
expiresフィールドに指定できる日付と時刻の形式は、UTCからのオフセット付きのISO8601形式です。Vegaでは、これはCookieの設定後に常にGMTに変換されます。- たとえば、上記の例の
mockedCookieを設定した後、それ以降の取得操作で返されるタイムスタンプはexpires: '2030-06-01T17:30:00.00Z'になります。これは同じ時刻をGMTで表したものです。
- たとえば、上記の例の
getを使用してセッションCookie(expiresのないCookie)を取得すると、expiresフィールドに1970-01-01T00:00:00Zが設定されます。このCookieをほかのCookieマネージャーで使用する場合は、このフィールドをCookieから削除する必要が生じることがあります。削除しない場合、ほかのCookieマネージャーの実装(WebView Cookieマネージャーなど)では、有効期限が既に切れていると見なされる可能性があります。

