エンコード

URLエンコードは、URLのデータを一定の規則に基づいて符号化し、サーバーで読み取れるようにする方法です。URLは必ずエンコードする必要があり、適切にエンコードしなければデータが失われる恐れがあります。

コールバックURLとトラッカーURLには、同じエンコードの規則が適用されます。

URLのクエリ文字列部分、すなわちURLで?の後に来る内容のみエンコーディングが必要となります。このトラッカーURLなら、この部分(https://app.adjust.com/abc123?)の後に続く情報にあたります。

以下の情報は必ずエンコードしてください。

  • 安全でない特殊文字:@&&+,/:;=?@"<>#%{}|\^~[]`)
  • スペース(
  • パラメータ値としてのURL(フォールバックURLなど)
  • パラメータ内のパラメータ(Androidインストールリファラ値など)

URLの重要な部分をいつエンコードすべきかは具体的に説明しますが、安全でない文字、すなわちASCII文字セット以外の文字を含むパラメータ値はすべてエンコードする必要があります。値に安全でない文字が含まれているかどうか不明な場合は、URLエンコーダーに入力すると、値の中の安全でない文字が変換されます。ただし、中かっこ({ })を使用したプレースホルダはエンコードする必要がありません

URLが適切にエンコードされていないと、サーバーでエラーが発生し、フォールバックやリダイレクトの誤動作、パラメータの読み取りや処理ができないなどの不具合につながります。

コールバックURL内の特殊文字の例

エンコードされていないURL

http://callbacks.myserver.com/registration?username=bob_uncle&email=bob.uncle@mail.com
エンコードされたURL
http://callbacks.myserver.com/registration?username=bob_uncle&email=bob.uncle%40mail.com

例:パラメーターとしてURLを含むトラッカーURL

エンコードされたURL
https://app.adjust.com/abc123?redirect=https://www.mywebsite.com/landing_page
エンコードされたURL
https://app.adjust.com/abc123?redirect=https%3A%2F%2Fwww.mywebsite.com%2Flanding_page

例:パラメーター内にパラメーターを含むトラッカーURL

エンコードされていないURL
https://app.adjust.com/abc123?referrer=adjust_tracker=abc123&adjust_campaign=ChristmasCamp59_ChristmasCampId330&adjust_adgroup=AppId48399_SubID&adjust_creative=Creative9383_SubId&utm_source=adjust_store&adjust_install_callback=www.3rdpartydomain.com?src=adjust&advertiserId=57638&password=4d13c4dc
エンコードされたURL
https://app.adjust.com/abc123?referrer=adjust_tracker%3Dabc123%26adjust_campaign%3DChristmasCamp59_ChristmasCampId330%26adjust_adgroup%3DAppId48399_SubID%26adjust_creative%3DCreative9383_SubId%26utm_source%3Dadjust_store&adjust_install_callback=www.3rdpartydomain.com%253Fsrc%253Dadjust%2526advertiserId%253D57638%2526password%253D4d13c4dc
:この例では、実際はすでにエンコードされたURLの中にコールバックパラメータがあるため、コールバックURL値を二重にエンコードする必要があります。

このトピックについて