

{"id":2683,"date":"2017-02-09T18:35:21","date_gmt":"2017-02-09T15:35:21","guid":{"rendered":"https:\/\/tubikstudio.com\/?p=2683"},"modified":"2023-08-15T08:09:12","modified_gmt":"2023-08-15T08:09:12","slug":"ios-tutorial-how-to-add-your-app-content-to-imessenger","status":"publish","type":"post","link":"https:\/\/tubikstudio.com\/blog\/ios-tutorial-how-to-add-your-app-content-to-imessenger\/","title":{"rendered":"IOS Tutorial: How to Add Your App Content to iMessenger"},"content":{"rendered":"<p><span style=\"color: #333333;\">Messengers have definitely become an integral part of everyday life for thousands of people: they are easy-to-use, quick and simple, and so helpful in exchanging information on the go and from anywhere you are. Moreover, with the rocketing progress of smartphone technologies, messengers are adding more and more functionality: right from the messenger you can send images and sometimes even files or documents, you can create group conversations, change the visual layout of the interface, classify your contacts etc. Recent years have also shown the instant wish people demonstrate in involving diverse graphics like emoji, stickers, animations, doodles and the like to make the chats brighter and to set the definite mood of communication.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">One of the features, presented with iOS 10, became a great response to this trend: Apple opened iMessenger to the third-party developers via the feature called iMessenger Apps. having created the apps for iOS, developers are now able to synchronize their content with iMessenger, be it a sticker, an audio file or even some interactive stuff. If the path has been overcome correctly, the content can be integrated right into the messenger.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">Recently we have tested this feature in practice, having opened the sticker pack from <a href=\"https:\/\/itunes.apple.com\/ua\/app\/toonie-alarm\/id1091330520?mt=8\" target=\"_blank\" rel=\"noopener noreferrer\">Toonie Alarm<\/a> directly to iMessenger, so today we offer our readers a brief tutorial on how to do it. Those, who will find this tutorial interesting and applicable in practice, presumably have the practice of work with Xcode and feel confident in coding UIKit-based iOS application.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2684\" src=\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2017\/02\/toonie-sticker-screen-1.jpg\" alt=\"toonie-sticker-screen\" width=\"1000\" height=\"663\" srcset=\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2017\/02\/toonie-sticker-screen-1.jpg 1000w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2017\/02\/toonie-sticker-screen-1-300x199.jpg 300w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2017\/02\/toonie-sticker-screen-1-768x509.jpg 768w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2017\/02\/toonie-sticker-screen-1-150x99.jpg 150w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">So, first of all, let\u2019s mention once again that today we are working on the case when you have an iOS app, which is launched and operating, and its content (like images, photos, emoji, stickers, audio etc) can be potentially applicable to the process of communication via iMessage.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">As we have dealt with stickers as a sort of shared content, a couple of words should be mentioned about the recommended format for the messages. For sticker packs, the file sizes recommended by Apple are:<\/span><\/p>\n<ul>\n<li><span style=\"color: #333333;\"><strong>Small<\/strong>: 100 x 100 pt @3x scale (300 x 300 pixel image)<\/span><\/li>\n<li><span style=\"color: #333333;\"><strong>Medium<\/strong>: 136 x 136 pt @3x scale (378 x 378 pixel image)<\/span><\/li>\n<li><span style=\"color: #333333;\"><strong>Large<\/strong>: 206 x 206 pt @3x scale (618 x 618 pixel image)<\/span><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">There are also the following limitations to the images used in the sticker packs:<\/span><\/p>\n<ul>\n<li><span style=\"color: #333333;\">Images can be no larger than 500 KB in file size.<\/span><\/li>\n<li><span style=\"color: #333333;\">Images can be no smaller than 100 x 100 pt (300 x 300 pixels).<\/span><\/li>\n<li><span style=\"color: #333333;\">Images can be no larger than 206 x 206 pt (618 x 618 pixels).<\/span><\/li>\n<li><span style=\"color: #333333;\">Image files must be PNG, APNG, JPEG, or GIF format; PNG for static stickers and APNG for animated ones are recommended because they handle scaling and transparent backgrounds much better than JPEG and GIF respectively.<\/span><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">If everything mentioned above is your case, then you have to start submitting the app content to iMessenger in the following way.<\/span><\/p>\n<p><span style=\"color: #333333;\">Add iMessage extension to your app<\/span><\/p>\n<p><span style=\"color: #333333;\">In project targets press &#8220;+&#8221; and select iMessage extension, as the screenshot shows:<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2686\" src=\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2017\/02\/imessage-app-ios-extension-1.png\" alt=\"imessage app ios extension\" width=\"731\" height=\"515\" srcset=\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2017\/02\/imessage-app-ios-extension-1.png 731w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2017\/02\/imessage-app-ios-extension-1-300x211.png 300w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2017\/02\/imessage-app-ios-extension-1-150x106.png 150w\" sizes=\"auto, (max-width: 731px) 100vw, 731px\" \/><\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">We will have an automatically generated MSMessagesAppViewController inheritor called MessagesViewController. It acts as the general view controller but is used to manage your Messages extensions.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">When this controller loads, we should load stickers and present them in MSStickerBrowserViewController. The browser provides drag-and-drop functionality: the user can press and hold a sticker to peel it from the browser, then drag the sticker to any balloon in the transcript. The user can also tap stickers to add them to the Messages app\u2019s input field.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">The browser presents the stickers provided by its MSStickerBrowserViewController property. The data source can dynamically change the list of stickers at runtime. You can also customize the size of the stickers inside the browser.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\"><em>[[MSStickerBrowserViewController alloc] initWithStickerSize: <\/em><\/span><em><b>MSStickerSizeSmall<\/b>];<\/em><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2685\" src=\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2017\/02\/sticker-sizes-apple-ios-1.png\" alt=\"sticker sizes apple ios\" width=\"790\" height=\"556\" srcset=\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2017\/02\/sticker-sizes-apple-ios-1.png 790w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2017\/02\/sticker-sizes-apple-ios-1-300x211.png 300w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2017\/02\/sticker-sizes-apple-ios-1-768x541.png 768w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2017\/02\/sticker-sizes-apple-ios-1-150x106.png 150w\" sizes=\"auto, (max-width: 790px) 100vw, 790px\" \/><\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\"><script src=\"https:\/\/gist.github.com\/MariaNaxar\/7a543f3bac22c7f218f63416e72190ae.js\"><\/script><\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">In the method <\/span><b><i>createStickerBrowser<\/i><\/b>, we create MSStickerBrowserViewController with small stickers and present it on our main view controller (MessagesViewController) as the child view controller. Data source for this browser is MessagesViewController<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">In the method <b><i>loadStickers<\/i><\/b> we load data(Stickers objects) from Core data and map it to MSSticker objects. To create MSSticker, you should describe the file URL with an appropriate image (<\/span><i>LINK<\/i>!), localized description limited to 150 characters, which will be used as an accessibility description of the sticker. Also, you can track errors which occur in SKSticker initialization via last output parameter &#8211; error.<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">As a browser data source, \u00a0MessagesViewController should implement MSStickerBrowserViewDataSource protocol which consists of two important methods. The first (numberOfStickerBrowserView) says how much stickers we should present and the second (stickerAtIndex) should return SKSticker for each index.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h3><span style=\"color: #333333;\"> How to share data from the particular app with the extension?<\/span><\/h3>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">In the case of Toonie Alarm, we had data in Core data database.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">In the case of the same app group, create the app group in the Apple developer portal. If you need the detailed instruction on it, check it <a style=\"color: #333333;\" href=\"https:\/\/medium.com\/@maximbilan\/ios-shared-coredata-storage-for-app-groups-447b4ba43eec\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">here<\/a>.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">Add it to your app ID and use for application target and extension. (select in <em><strong>target -&gt; capabilities -&gt; app groups<\/strong><\/em>). <\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400; color: #333333;\">After this, you will have the shared container for the app and the extension. And SQLite database will have this path:<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\"><em>NSURL*storeURL = [[NSFileManagerdefaultManager&gt;] containerURLForSecurityApplicationGroupIdentifier:@&#8221;your group id&#8221;];<\/em><\/span><\/p>\n<p><span style=\"color: #333333;\"><em>\u00a0\u00a0storeURL = [storeURL URLByAppendingPathComponent:@&#8221;Alarms.sqlite&#8221;];<\/em><\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">If you use some UserDefaults, you will need the following code:<\/span><\/p>\n<p><span style=\"color: #333333;\"><em>NSUserDefaults *mySharedDefaults = [[NSUserDefaults alloc] initWithSuiteName: @&#8221;your group id&#8221;];<\/em><\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">In case you want to use some classes from the app in your extension, just select your target in File inspector.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2694\" src=\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2017\/02\/toonie-alarm-stickers-ios-tubik-1.jpg\" alt=\"toonie alarm stickers ios tubik\" width=\"800\" height=\"600\" srcset=\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2017\/02\/toonie-alarm-stickers-ios-tubik-1.jpg 800w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2017\/02\/toonie-alarm-stickers-ios-tubik-1-300x225.jpg 300w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2017\/02\/toonie-alarm-stickers-ios-tubik-1-768x576.jpg 768w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2017\/02\/toonie-alarm-stickers-ios-tubik-1-150x113.jpg 150w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">If you had an old app on App Store and now want to add iMessages extension and share some data from Core data store, you will need to move existing database to the shared container instead of creating the new one.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">Due to these operations, Toonie Alarm users now can use all the stickers they win in the app for their chats in iMessenger, totally for free. For apps of this kind, which have original and bright graphic alarms, simplification in the process of adding content to the native messenger is definitely a user-friendly policy which both the developers and designers here set as their primary aim.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2484\" src=\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2017\/01\/tubik_toonie_alarm-1.png\" alt=\"toonie alarm UI design\" width=\"800\" height=\"600\" srcset=\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2017\/01\/tubik_toonie_alarm-1.png 800w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2017\/01\/tubik_toonie_alarm-1-300x225.png 300w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2017\/01\/tubik_toonie_alarm-1-768x576.png 768w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2017\/01\/tubik_toonie_alarm-1-150x113.png 150w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/span><\/p>\n<p>&nbsp;<\/p>\n<h2><span style=\"color: #333333;\">Recommended reading<\/span><\/h2>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">If you want to get more insights into the theme, here is the list of recommended materials to review:<\/span><\/p>\n<p><span style=\"color: #333333;\"><a style=\"color: #333333;\" href=\"https:\/\/developer.apple.com\/ios\/human-interface-guidelines\/extensions\/messaging\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">iOS Human Interface Guidelines: Messaging<\/a><\/span><\/p>\n<p><span style=\"color: #333333;\"><a style=\"color: #333333;\" href=\"https:\/\/code.tutsplus.com\/tutorials\/create-an-imessage-app-in-ios-10--cms-26870\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Create an iMessage App in iOS 10<\/a><\/span><\/p>\n<p><span style=\"color: #333333;\"><a style=\"color: #333333;\" href=\"https:\/\/medium.com\/@maximbilan\/ios-shared-coredata-storage-for-app-groups-447b4ba43eec\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">iOS Shared CoreData Storage for App Groups<\/a><\/span><\/p>\n<p><span style=\"color: #333333;\"><a style=\"color: #333333;\" href=\"https:\/\/developer.apple.com\/library\/content\/documentation\/General\/Conceptual\/ExtensibilityPG\/ExtensionScenarios.html\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">App Extension Programming Guide<\/a><\/span><\/p>\n<p>&nbsp;<\/p>\n<hr \/>\n<p><span style=\"color: #333333;\"><em>Welcome to set up\u00a0<a style=\"color: #333333;\" href=\"https:\/\/itunes.apple.com\/ua\/app\/toonie-alarm\/id1091330520?mt=8\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Toonie Alarm via App Store<\/a><\/em><\/span><\/p>\n<p><span style=\"color: #333333;\"><em>Welcome to read the case study about <a style=\"color: #333333;\" href=\"https:\/\/tubikstudio.com\/case-study-toonie-ui-animation-development\/\" target=\"_blank\" rel=\"noopener noreferrer\">coding UI animation<\/a>\u00a0for Toonie Alarm<\/em><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The tutorial for iOS developers, giving practical tips and instructions on how to add the iOS app content to iMessenger, by example of Toonie Alarm Stickers.<\/p>\n","protected":false},"author":3,"featured_media":2684,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[4,7],"tags":[271,272,275,280,283,325,423,20,25,57,100,250],"coauthors":[],"class_list":["post-2683","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-case_study","category-processes_and_tools","tag-ios-best-practices","tag-ios-developers","tag-ios-development-case-study","tag-ios-services","tag-iphone","tag-mobile-development","tag-stickers","tag-app-design","tag-appstore","tag-case-study","tag-design","tag-imessage"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>IOS Tutorial: How to Add Your App Content to iMessenger<\/title>\n<meta name=\"description\" content=\"The tutorial for iOS developers, giving practical tips and instructions on how to add the iOS app content to iMessenger, by example of Toonie Alarm Stickers.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/tubikstudio.com\/blog\/ios-tutorial-how-to-add-your-app-content-to-imessenger\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"IOS Tutorial: How to Add Your App Content to iMessenger\" \/>\n<meta property=\"og:description\" content=\"The tutorial for iOS developers, giving practical tips and instructions on how to add the iOS app content to iMessenger, by example of Toonie Alarm Stickers.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/tubikstudio.com\/blog\/ios-tutorial-how-to-add-your-app-content-to-imessenger\/\" \/>\n<meta property=\"og:site_name\" content=\"Tubik Blog: Articles About Design\" \/>\n<meta property=\"article:published_time\" content=\"2017-02-09T15:35:21+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-08-15T08:09:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2017\/02\/toonie-sticker-screen-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1000\" \/>\n\t<meta property=\"og:image:height\" content=\"663\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Marina Yalanska\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Marina Yalanska\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/tubikstudio.com\/blog\/ios-tutorial-how-to-add-your-app-content-to-imessenger\/\",\"url\":\"https:\/\/tubikstudio.com\/blog\/ios-tutorial-how-to-add-your-app-content-to-imessenger\/\",\"name\":\"IOS Tutorial: How to Add Your App Content to iMessenger\",\"isPartOf\":{\"@id\":\"https:\/\/tubikstudio.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/tubikstudio.com\/blog\/ios-tutorial-how-to-add-your-app-content-to-imessenger\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/tubikstudio.com\/blog\/ios-tutorial-how-to-add-your-app-content-to-imessenger\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2017\/02\/toonie-sticker-screen-1.jpg\",\"datePublished\":\"2017-02-09T15:35:21+00:00\",\"dateModified\":\"2023-08-15T08:09:12+00:00\",\"author\":{\"@id\":\"https:\/\/tubikstudio.com\/blog\/#\/schema\/person\/320206b0076eb11ea0c0d4d17012c36f\"},\"description\":\"The tutorial for iOS developers, giving practical tips and instructions on how to add the iOS app content to iMessenger, by example of Toonie Alarm Stickers.\",\"breadcrumb\":{\"@id\":\"https:\/\/tubikstudio.com\/blog\/ios-tutorial-how-to-add-your-app-content-to-imessenger\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/tubikstudio.com\/blog\/ios-tutorial-how-to-add-your-app-content-to-imessenger\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/tubikstudio.com\/blog\/ios-tutorial-how-to-add-your-app-content-to-imessenger\/#primaryimage\",\"url\":\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2017\/02\/toonie-sticker-screen-1.jpg\",\"contentUrl\":\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2017\/02\/toonie-sticker-screen-1.jpg\",\"width\":1000,\"height\":663,\"caption\":\"toonie alarm stickers ios tubik\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/tubikstudio.com\/blog\/ios-tutorial-how-to-add-your-app-content-to-imessenger\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/tubikstudio.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"IOS Tutorial: How to Add Your App Content to iMessenger\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/tubikstudio.com\/blog\/#website\",\"url\":\"https:\/\/tubikstudio.com\/blog\/\",\"name\":\"Tubik Blog: Articles About Design\",\"description\":\"Tubik Studio\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/tubikstudio.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/tubikstudio.com\/blog\/#\/schema\/person\/320206b0076eb11ea0c0d4d17012c36f\",\"name\":\"Marina Yalanska\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/tubikstudio.com\/blog\/#\/schema\/person\/image\/2ddde1c118fcf989ce8e73997a3909dd\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/630af235953a586b42ed17f9ea472b131bcde00719efc655984d63ca2078e7a2?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/630af235953a586b42ed17f9ea472b131bcde00719efc655984d63ca2078e7a2?s=96&d=mm&r=g\",\"caption\":\"Marina Yalanska\"},\"url\":\"https:\/\/tubikstudio.com\/blog\/author\/marina-yalanska\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"IOS Tutorial: How to Add Your App Content to iMessenger","description":"The tutorial for iOS developers, giving practical tips and instructions on how to add the iOS app content to iMessenger, by example of Toonie Alarm Stickers.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/tubikstudio.com\/blog\/ios-tutorial-how-to-add-your-app-content-to-imessenger\/","og_locale":"en_US","og_type":"article","og_title":"IOS Tutorial: How to Add Your App Content to iMessenger","og_description":"The tutorial for iOS developers, giving practical tips and instructions on how to add the iOS app content to iMessenger, by example of Toonie Alarm Stickers.","og_url":"https:\/\/tubikstudio.com\/blog\/ios-tutorial-how-to-add-your-app-content-to-imessenger\/","og_site_name":"Tubik Blog: Articles About Design","article_published_time":"2017-02-09T15:35:21+00:00","article_modified_time":"2023-08-15T08:09:12+00:00","og_image":[{"width":1000,"height":663,"url":"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2017\/02\/toonie-sticker-screen-1.jpg","type":"image\/jpeg"}],"author":"Marina Yalanska","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Marina Yalanska","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/tubikstudio.com\/blog\/ios-tutorial-how-to-add-your-app-content-to-imessenger\/","url":"https:\/\/tubikstudio.com\/blog\/ios-tutorial-how-to-add-your-app-content-to-imessenger\/","name":"IOS Tutorial: How to Add Your App Content to iMessenger","isPartOf":{"@id":"https:\/\/tubikstudio.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/tubikstudio.com\/blog\/ios-tutorial-how-to-add-your-app-content-to-imessenger\/#primaryimage"},"image":{"@id":"https:\/\/tubikstudio.com\/blog\/ios-tutorial-how-to-add-your-app-content-to-imessenger\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2017\/02\/toonie-sticker-screen-1.jpg","datePublished":"2017-02-09T15:35:21+00:00","dateModified":"2023-08-15T08:09:12+00:00","author":{"@id":"https:\/\/tubikstudio.com\/blog\/#\/schema\/person\/320206b0076eb11ea0c0d4d17012c36f"},"description":"The tutorial for iOS developers, giving practical tips and instructions on how to add the iOS app content to iMessenger, by example of Toonie Alarm Stickers.","breadcrumb":{"@id":"https:\/\/tubikstudio.com\/blog\/ios-tutorial-how-to-add-your-app-content-to-imessenger\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/tubikstudio.com\/blog\/ios-tutorial-how-to-add-your-app-content-to-imessenger\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/tubikstudio.com\/blog\/ios-tutorial-how-to-add-your-app-content-to-imessenger\/#primaryimage","url":"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2017\/02\/toonie-sticker-screen-1.jpg","contentUrl":"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2017\/02\/toonie-sticker-screen-1.jpg","width":1000,"height":663,"caption":"toonie alarm stickers ios tubik"},{"@type":"BreadcrumbList","@id":"https:\/\/tubikstudio.com\/blog\/ios-tutorial-how-to-add-your-app-content-to-imessenger\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/tubikstudio.com\/blog\/"},{"@type":"ListItem","position":2,"name":"IOS Tutorial: How to Add Your App Content to iMessenger"}]},{"@type":"WebSite","@id":"https:\/\/tubikstudio.com\/blog\/#website","url":"https:\/\/tubikstudio.com\/blog\/","name":"Tubik Blog: Articles About Design","description":"Tubik Studio","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/tubikstudio.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/tubikstudio.com\/blog\/#\/schema\/person\/320206b0076eb11ea0c0d4d17012c36f","name":"Marina Yalanska","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/tubikstudio.com\/blog\/#\/schema\/person\/image\/2ddde1c118fcf989ce8e73997a3909dd","url":"https:\/\/secure.gravatar.com\/avatar\/630af235953a586b42ed17f9ea472b131bcde00719efc655984d63ca2078e7a2?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/630af235953a586b42ed17f9ea472b131bcde00719efc655984d63ca2078e7a2?s=96&d=mm&r=g","caption":"Marina Yalanska"},"url":"https:\/\/tubikstudio.com\/blog\/author\/marina-yalanska\/"}]}},"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/posts\/2683","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/comments?post=2683"}],"version-history":[{"count":3,"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/posts\/2683\/revisions"}],"predecessor-version":[{"id":14638,"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/posts\/2683\/revisions\/14638"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/media\/2684"}],"wp:attachment":[{"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/media?parent=2683"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/categories?post=2683"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/tags?post=2683"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/coauthors?post=2683"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}