- Создать короткую ссылку, указывающую на URL-адрес продукта Amazon.
- Когда кто-то нажимает на эту ссылку, в идеале она должна открываться непосредственно в приложении Amazon, если оно установлено на его устройстве.
Для достижения этой цели я предоставляю короткую ссылку, которая при нажатии возвращает HTML и JavaScript, предназначенные для перенаправления пользователей в приложение Amazon, если оно установлено. Вот основной код HTML и JavaScript, который я использую для перенаправления:
Код: Выделить всё
const htmlResponse = `
window.location.href = '${urls.redirectUrl}';
Redirecting
`;
res.setHeader('Content-Type', 'text/html');
res.send(htmlResponse);
-> Непосредственный щелчок по ссылке: эта настройка работает хорошо в большинстве случаев приложение Amazon открывается напрямую, как и ожидалось, на iOS и Android при нажатии на ссылку в большинстве браузеров.
-> Доступно в Instagram Story:
Код: Выделить всё
> iOS: When the Instagram Story is clicked by an iOS user, links opens in the Instagram InApp Browser, and it redirects correctly to the Amazon app, likely due to Apple’s support for Universal Links, which Instagram respects.
> Android: On Android, however, clicking the link from an Instagram Story opens it within Instagram’s in-app browser. Here, the link doesn’t redirect to the Amazon app. Instead, it simply opens within Instagram’s browser, likely because Android's Instagram browser blocks intents and app redirections.
- Как открыть браузер по умолчанию из приложения Instagram ссылку на страницу браузера?
- Перенаправление веб-сайта из веб-браузера Facebook в браузер мобильного телефона по умолчанию.
- Перенаправление из браузера Facebook/Instagram в приложении в браузер по умолчанию на iOS.
Решение 1 >
Перенаправление, когда запрос поступает от Android и Instagram, предполагая, что он откроет приложение Amazon, но это не так
Код: Выделить всё
window.location.href =
'intent://www.amazon.com/dp/B0CM5J4X7W#Intent;scheme=https;package=com.amazon.mobile.shopping.web;end';
;
Код: Выделить всё
window.location.href =
'intent://www.amazon.com/dp/B0CM5J4X7W#Intent;scheme=https;package=com.amazon.mShop.android.shopping;end';
;
Пытался открыть URL-адрес в браузере по умолчанию, но похоже, что Instagram заблокировал это перенаправление на браузер по умолчанию.
Код: Выделить всё
window.location.href = `googlechrome://${link}`;
;
Код: Выделить всё
window.location.href = `intent://${link}#Intent;scheme=https;end`;
;
Когда запрос поступает от Android и Instagram, верните ответ на загрузку файла. Поскольку браузер InApp не обрабатывает загрузку файлов, я предполагал, что он будет перенаправляться на Default, но в случае с Instagram Story такого перенаправления также не происходит. Но если мы поделимся ссылкой через «Входящие» с кем-то и нажмем эту ссылку, она откроется в браузере по умолчанию как ссылка для загрузки файла.
Вот код для этого.
Код: Выделить всё
router.get(
'/:id.docx',
async (req: Request, res: Response) => {
try {
const { id } = req.params;
const userAgent = req.headers['user-agent']?.toLowerCase().trim() || '';
const isInstagram = userAgent?.includes('instagram');
const isAndroid = userAgent?.includes('android');
const file = bucket.file('dummy/dummy.docx');
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Headers', 'X-Requested-With');
res.setHeader(
'Content-Type',
'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
);
res.setHeader(
'Content-Disposition',
'attachment; filename="dummy.docx"',
);
res.setHeader('Content-Transfer-Encoding', 'binary');
res.setHeader('Accept-Ranges', 'bytes');
res.setHeader('Cache-Control', 'no-store, must-revalidate');
res.setHeader('Pragma', 'no-cache');
// Stream the file to the response
file
.createReadStream()
.on('error', (err) => {
console.error('Error fetching file:', err);
res.status(500).send('Error downloading file.');
})
.pipe(res);
return;
} catch (firebaseError) {
console.error(firebaseError);
res.status(303).redirect(notFound);
}
},
);
Есть ли на Android какой-либо способ программно активировать браузер в приложении Instagram, чтобы он открывал мою ссылку в браузере по умолчанию при нажатии на нее в истории ?
Если пользователи были перенаправлены в браузер по умолчанию из браузера в приложении Instagram, перенаправление приложения Amazon будет работать должным образом. Мы будем очень признательны за любой обходной путь или решение, которое поможет открыть ссылку в браузере по умолчанию непосредственно из истории Instagram на Android.
Спасибо за любые предложения и рекомендации!
Подробнее здесь: https://stackoverflow.com/questions/791 ... r-amazon-a