リッチプッシュメッセージで、使用されているhtml形式を知っています.質問は、特定のサーバーサービスを利用できないことです.特定のサーバーでホストせずにメッセージに画像を表示する方法はありますか.つまり、方法はありますかhtmlで画像を表示するための画像タグ以外のhtmlで?コンテンツはhtmlページ自体にローカルに保存されていますか?または他の可能な方法はありますか?
言語 :オブジェクト C
リッチプッシュメッセージで、使用されているhtml形式を知っています.質問は、特定のサーバーサービスを利用できないことです.特定のサーバーでホストせずにメッセージに画像を表示する方法はありますか.つまり、方法はありますかhtmlで画像を表示するための画像タグ以外のhtmlで?コンテンツはhtmlページ自体にローカルに保存されていますか?または他の可能な方法はありますか?
言語 :オブジェクト C
画像を html (リッチ テキスト メッセージ) と一緒にインラインで送信します。これにより、受信トレイをオフラインで読むことができます。
使用しているプログラミング言語を指定しなかったので、php で取得したものを示します。
/**
* htmlReportImageFromUrl - Takes a url to an image (png), return a html inline image in a <div/>
*
* @author Kent Behrends, kent@bci.com, 2012-04-12
* @param string $url to a png image
* @param string $imageFormat and format that Imagick supports, default to 'png'
* @param int $resizeImage in pixels, defualt to 48
* @param string $altText for the image
* @return string html <div/> string with image data or <div>Bad Image</div>
*/
function htmlReportImageFromUrl($url, $imageFormat = "png", $resizeImage = "48", $altText = "image") {
$image = new Imagick ();
$f = fopen ( $url, 'rb' );
$status = $image->readImageFile ( $f );
fclose ( $f );
if (! $status) return '<div>Bad Image</div>';
$image->setImageFormat ( $imageFormat );
$image->resizeImage ( $resizeImage, 0, imagick::FILTER_LANCZOS, - 1 );
$encoded = base64_encode ( $image->getImageBlob () );
return '<div><img src="data:image/png;base64,' . $encoded . '" alt="'.$altText.'"></div>';
}
この関数の使用例とその出力。
$kentsImage = 'http://www.gravatar.com/avatar/6376f5c874dd475857c1b4c082f2e665?s=128&d=identicon&r=PG';
$message = '<html><body>';
$message .= '<h4>Sample image from gravatar.com</h4>';
$message .= '<table><tr><td>Kent</td><td>'.htmlReportImageFromUrl($kentsImage).'</td></tr></table>';
$message .= '</body></html>';
print $message;
$message をペイロードとして Urban Airships AirMail の URL に送信します。
フォーマットされた出力である src="data:image/png... は切り捨てられています。
<html>
<body>
<h4>Sample image from gravatar.com</h4>
<table>
<tr>
<td>Kent</td>
<td>
<div><img src="data:image/png;base64,iVBORw0KGgoAAAANS ...</div>
</td>
</tr>
</table>
</body>
</html>