diff --git a/plugin.xml b/plugin.xml index 2724e66b..8a80811f 100644 --- a/plugin.xml +++ b/plugin.xml @@ -2,7 +2,7 @@ + version="4.14.0"> ADBMobile Adobe Mobile Services Plugin @@ -42,6 +42,6 @@ - + diff --git a/sdks/Android/AdobeMobileLibrary/adobeMobileLibrary-4.14.0.jar b/sdks/Android/AdobeMobileLibrary/adobeMobileLibrary-4.14.0.jar new file mode 100644 index 00000000..7dd25920 Binary files /dev/null and b/sdks/Android/AdobeMobileLibrary/adobeMobileLibrary-4.14.0.jar differ diff --git a/sdks/Android/ReleaseNotes.txt b/sdks/Android/ReleaseNotes.txt index d6e914aa..219b0cf4 100644 --- a/sdks/Android/ReleaseNotes.txt +++ b/sdks/Android/ReleaseNotes.txt @@ -5,6 +5,10 @@ Included are notes from the latest major revision to current. For full SDK documentation, please visit: https://marketing.adobe.com/resources/help/en_US/mobile/android/ +4.14.0 (12 Oct, 2017) +- New Feature - support for Target Preview +- New Feature - Target Prefetch APIs + 4.13.7 (20 July, 2017) - Target - Fixed a bug to now gracefully handle unexpected network stack errors. - Audience Manager - Added safe URL encoding of DPUUID diff --git a/sdks/Xamarin/ADBMobile/component/Details.md b/sdks/Xamarin/ADBMobile/component/Details.md index 361f4a28..7487ca54 100644 --- a/sdks/Xamarin/ADBMobile/component/Details.md +++ b/sdks/Xamarin/ADBMobile/component/Details.md @@ -1,7 +1,7 @@ # ADBMobile details -This component contains Xamarin bindings for the Adobe Mobile Services Android and iOS SDKs. They are fully featured bindings and can use the full feature set of the Adobe Mobile Services SDKs. +This component contains Xamarin bindings for the Adobe Mobile Services Android, iOS, and tvOS SDKs. They are fully featured bindings and can use the full feature set of the Adobe Mobile Services SDKs. -The Adobe Mobile Services libraries allow you to capture native app activity (user, usage, behavior, gestures, etc.) and forward that data to Adobe collection servers for use in Analytics reporting. Many of the libraries also include Test&Target mbox capability for A/B and multivariate testing within your mobile app, and audience measurement capabilities through Adobe AudienceManager. +The Adobe Mobile Services libraries allow you to capture native app activity (user, usage, behavior, gestures, etc.) and forward that data to Adobe collection servers for use in Analytics reporting. Many of the libraries also include Adobe Target mbox capability for A/B and multivariate testing within your mobile app, and audience measurement capabilities through Adobe Audience Manager. To learn more about the mobile SDKs and to download a product overview data sheet, see [Adobe & mobile solutions](http://www.adobe.com/solutions/digital-analytics/mobile-web-apps-analytics.html). diff --git a/sdks/Xamarin/ADBMobile/component/License.md b/sdks/Xamarin/ADBMobile/component/License.md index baa6585c..49eb8af3 100644 --- a/sdks/Xamarin/ADBMobile/component/License.md +++ b/sdks/Xamarin/ADBMobile/component/License.md @@ -1 +1,109 @@ -# ADBMobile license \ No newline at end of file +ADOBE MOBILE SERVICES SOFTWARE DEVELOPMENT KIT LICENSE AGREEMENT +---------------------------------------------------------------- +**Effective Date:** first date you select “I Agree” or use the SDK + +Last Updated: September 30, 2015 + +The Adobe Mobile Services SDK (“AMS SDK”) (defined below) is licensed to you subject to the terms and conditions below which form a binding agreement between you and Adobe. **By selecting “I Agree”, or by downloading, installing, or making use of any portion of the AMS SDK, you are agreeing to the following terms and conditions. If you do not agree to the terms and conditions below, do not use the AMS SDK.** If you agree to be bound by this agreement on behalf of your employer or other entity, you must have the legal authority to do so. If you are not authorized to so bind your employer or such entity, do not select “I Agree” to accept this agreement and do not use the AMS SDK. + +--- + +AGREED TERMS AND CONDITIONS +--------------------------- +1. **DEFINITIONS.** + + 1.1 “**Adobe**” means collectively, Adobe Systems Incorporated, a company incorporated in Delaware, U.S.A., having a place of business at 345 Park Avenue, San Jose, California USA 95110-2704, U.S.A. (“**Adobe US**”) and Adobe Systems Software Ireland, company incorporated in Ireland, having a place of business 4-6 Riverwalk, City West Business Campus, Saggart, Dublin 24, Ireland (“**Adobe Ireland**”). + + 1.2 “**Adobe Mobile Services SDK**” or “**Adobe Mobile Services Software Development Kit**” (each referred to throughout as “**AMS SDK**”) means all items comprising the software development kit and all associated materials licensed to you by Adobe as part of the AMS SDK, including all AMS SDK system files, tools, programs and utilities, as well as any plug-ins or other application programming interfaces, header or JAR files (“**API**”), sample images, sounds, or similar assets (“**Content Files**”), software code samples, runtimes and libraries, including any portion(s) that is modified by you, or merged or incorporated with your products (“**Sample Code**”), and any related documentation, technical specifications, notes and explanatory materials, as well any modifications, updates, upgrades, or copies of, any of the foregoing items, that may be made available by Adobe, whether online or recorded on media, or manually downloaded by you or otherwise placed on your computer. + + 1.3 “**Adobe Product(s)**” means software applications, programs, SDKs, products, services, and other technologies not included in or directly with the AMS SDK which are or may be made available by Adobe. This agreement does not govern use of Adobe Products and such Adobe products are not licensed hereunder. See the master enterprise agreement that your company signed with Adobe for terms governing its use. + + 1.4 “**Customer Site(s)**” means any current or future website or application that is owned and operated by you, or is hosted or operated by a third party on your behalf, and that contains a privacy policy or terms of use governing data collection practices that you (or your company) controls. + + 1.5 “**Intellectual Property Rights**” means copyright, moral rights, trademark, trade dress, patent, trade secret, unfair competition, and any other intellectual and proprietary rights. + +2. **LICENSES GRANTED TO YOU.** + + 2.1 **AMS SDK**. Subject to your compliance with terms of this agreement, Adobe grants to you a non-exclusive, non-sublicensable, non-transferable license to install and use the AMS SDK solely for your use of Adobe Products on Customer Site(s), subject further to the requirements and limitations below. + + 2.2 **API**. Subject to your compliance with terms of this agreement, Adobe grants to you a non-exclusive, non-sublicensable, non-transferable license to use the API only as provided in or by the applicable specification. For clarification, you may not modify the API. + + 2.3 **Content Files**. You may not use, modify, reproduce or distribute any of the Content Files. For the avoidance of doubt, the Content Files are included as examples only. You acquire no rights to the Content Files. + + 2.4 **Sample Code**. Subject to your compliance with terms of this agreement, Adobe grants to you a non-exclusive, non-sublicensable, non-transferable license to use, modify, merge, and redistribute (in object code form only) all or any portions of the Sample Code solely as part of, and as necessary to properly implement or use the AMS SDK. + +3. **SCOPE OF LICENSE; LIMITATIONS AND RESTRICTIONS** + + 3.1 You may not distribute the AMS SDK or any of its component parts to interoperate with or to run on a platform other than the Adobe-approved platform. + + 3.2 Third-Party Software. The AMS SDK may contain third-party software, subject to additional terms and conditions, available at http://www.adobe.com/go/thirdparty. + + 3.3 You may not modify, port, adapt, creative derivate works, redistribute, or translate any portion of this AMS SDK; or add or delete any AMS SDK program files that would in any way result in modifying the functionality or appearance of any element of the Adobe Products. + + 3.4 You may not reverse engineer, decompile, disassemble, or otherwise attempt to discover the source code of any portion of the AMS SDK, except and only to the extent that applicable laws of the jurisdiction where you are located grant you the right to decompile AMS SDK in order to obtain information necessary to render the AMS SDK interoperable with other software; in which case you must first request the information from Adobe in writing and Adobe may, in its discretion, either provide such information to you or impose reasonable conditions, including reasonable fees, on your use of the AMS SDK software to ensure that Adobe’s and its licensors’ Intellectual Proprietary Rights in the AMS SDK are protected. + + 3.5 You may not unbundle, repackage, distribute, rent, lease, offer, sell, resale, sublicense, assign or transfer all, or any component parts of the AMS SDK, or any of your rights in the AMS SDK, nor authorize any portion of the AMS SDK to be copied onto another’s device, computer or platform, including on a service bureau basis to other providers (i.e., volume printing, banking, payroll service providers, etc.) who provide you free or fee-based business services. + +4. **VIRAL OPEN SOURCE SOFTWARE AND SERVICES** + + You are not licensed to (and you agree that you will not) merge, integrate, or use the AMS SDK with any Viral Open Source Software or Viral Service, or otherwise take any action that could require disclosure, distribution, or licensing of all or any part of the AMS SDK in source code form for any purpose whatsoever. For purposes of this Agreement, “**Viral Open Source Software**” means software licensed under the GNU General Public License, the GNU Affero General Public License (AGPL), the GNU Lesser General Public License (LGPL), or any other license terms that would require, or condition your use, modification, or distribution of such licensed software on the disclosure, distribution, or licensing of any other software in source code form, for the purpose of making derivative works, or at no charge, and “**Viral Service**” means any service that contains any viruses, Trojan horses, worms, time bombs, cancelbots, or other computer programming routines that are intended to damage, detrimentally interfere with, surreptitiously intercept, expropriate, or deprive owners’ possession of any system, data or personal information, or that in any way violates any law, statute, ordinance, regulation, or rights (including any law, regulations, or rights respecting intellectual property, computer spyware, privacy, export control, unfair competition, antidiscrimination, or false advertising), or otherwise interferes with the operability of Adobe Products or third-party programs or software. + +5. **NON-BLOCKING OF ADOBE DEVELOPMENT** + + Nothing in this agreement will impair, limit, or curtail Adobe’s right to continue with its development, maintenance, or distribution of Adobe Products. You agree that you will not assert in any way any patent owned by you arising out of or in connection with your use of the AMS SDK, or any AMS SDK modifications made by you, against Adobe, its customers, subsidiaries, or affiliates, or any of their customers, direct or indirect, agents and contractors for the manufacture, use, import, license, offer for sale, or sale of any Adobe Products. + +6. **OWNERSHIP; INTELLECTUAL PROPERTY RIGHTS** + + 6.1 The items contained in the AMS SDK are the Intellectual Property of Adobe and its licensors and are protected by United States copyright and patent law, international treaty provisions, and applicable laws of the country in which it is being used. Adobe and its licensors reserve all rights not expressly granted to you under this agreement, and retain all right, title, and interest in the AMS SDK, including all Intellectual Property Rights. + + 6.2 The AMS SDK, or any of its component parts, may be supplied to you with certain accompanying proprietary notices, including patent, copyright, and trademark notices. You agree to protect all copyright and other ownership interests of Adobe and its licensors in the AMS SDK supplied to you under this agreement; to preserve exactly (and not remove or alter) all proprietary notices displayed in or on the AMS SDK; to reproduce the same proprietary notices in all copies you make of any portion of the AMS SDK. + + 6.3 Nothing in this agreement gives you a right to use the name, logo, or trademarks of Adobe or its licensors to market your products. + +7. **CONFIDENTIAL INFORMATION** + + With respect to the API, and any portion included in the AMS SDK (for purposes of this Section, “**Adobe Confidential Information**”), you will treat the Adobe Confidential Information, and exercise the same degree of care to protect it, as you afford to your own confidential information. Your obligations under this Section will terminate when you can document that (a) the Adobe Confidential Information was in the public domain at or subsequent to the time Adobe communicated or provided it to you with no fault of your own; (b) your employees or agents developed independently without reference to any Adobe Confidential Information Adobe communicated or provided to you; or (c) your communication of Adobe Confidential Information was in response to a valid order by a court or other governmental body, was otherwise required by law, or was necessary to establish the rights of a party under this agreement. + +8. **TERM; TERMINATION** + + This agreement will commence on the Effective Date and will continue unless terminated. Adobe may terminate this agreement immediately upon notice to you, and without judicial intervention, if you fail to comply with any term of this agreement. You may terminate this agreement at any time by discontinuing all your use(s) of the AMS SDK and you agree to destroying or removing all full and partial copies of the AMS SDK from your computer and any and all websites or mobile applications where you may have installed the AMS SDK. If requested by Adobe, you must demonstrate proof of your compliance with the terms of this Section. In the event of termination, the terms of this agreement that, by their nature, are meant to survive termination, including all terms relating to viral open source software and services, ownership, confidential information, indemnity obligations and procedures, disclaimers of warranty, limitations on and exclusions of remedies and damages, dispute resolution, and waiver, will survive termination of this agreement. + +9. **DISCLAIMER OF WARRANTY; LIMITATION OF LIABILITY** + + You expressly understand and agree that, to the maximum extent permitted by applicable law: + + 9.1 **Use OF THE AMS SDK is entirely at your own risk. The AMS SDK is provided by Adobe “AS-IS” and with all faults. Adobe and its licensors are not liable to you or anyone else for any special, incidental, indirect, consequential, or punitive damages whatsoever (even if Adobe has been advised of the possibility of such damages), including (a) damages resulting from loss of use, data, or profits, whether or not foreseeable, (b) damages based on any theory of liability, including breach of contract or warranty, negligence or other tortious action, or (c) damages arising from any other claim arising out of or in connection with your use of the AMS SDK.** + + 9.2 **Adobe’s total liability in any matter arising out of or related to these terms is limited to US $100. This limitation will apply even if Adobe has been advised of the possibility of such damages and regardless of any failure of the essential purpose of any limited remedy.** + +10. **INDEMNIFICATION** + + To the maximum extent permitted by law, you agree to indemnify Adobe, its subsidiaries, affiliates, officers, agents, employees, partners, licensors, or suppliers from any claim or demand, including reasonable attorneys’ fees, that arise from your use of the AMS SDK, or from your violation of the terms of this agreement. + +11. **DISPUTE RESOLUTION** + + 11.1 **Choice of Law**. If you are a resident of North America (or if your organization is headquartered in North America), your relationship is with Adobe Systems Incorporated, a United States company, and the AMS SDK is governed by the law of California, U.S.A. If you reside outside of North America, your relationship is with Adobe Systems Software Ireland Limited, and the AMS SDK is governed by the law of Ireland. + + 11.2 **Venue**. You agree that any claim or dispute you may have against Adobe must be resolved by a court located in Santa Clara County, California, United States of America. You agree to submit to the personal jurisdiction of the courts located in Santa Clara County, California, United States of America when the laws of California apply, and the courts of Dublin, Ireland, when the laws of Ireland applies, for the purpose of litigating such claims or disputes. The parties specifically disclaim the U.N. Convention on Contracts for the International Sale of Goods. + + 11.3 **Injunctive Relief**. Notwithstanding the foregoing, in the event of your or others’ unauthorized access to or use of the AMS SDK in violation of this Agreement, you agree that Adobe is entitled to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction. + +12. **EXPORT RULES** + +The AMS SDK and your use of the AMS SDK are subject to U.S. and international laws, restrictions, and regulations that may govern the import, export, and use of the AMS SDK. You agree to comply with all such laws, restrictions, and regulations. + +13. **NOTICE TO U.S. GOVERNMENT END USERS** + +For U.S. Government procurements, the AMS SDK is a commercial computer software as defined in FAR 12.212 and subject to restricted rights as defined in FAR Section 52.227-19 "Commercial Computer Software - Restricted Rights" and DFARS 227.7202, “Rights in Commercial Computer Software or Commercial Computer Software Documentation”, as applicable, and any successor regulations. Any use, modification, reproduction release, performance, display or disclosure of the AMS SDK by the U.S. Government shall be solely in accordance with license rights and restrictions described herein. + +14. **GENERAL PROVISIONS** + + 14.1 **Severability**. If it turns out that a particular term is not enforceable, the unenforceability of that term will not affect any other terms. + + 14.2 **Modification; Waiver**. No provision of this agreement will be deemed to have been modified or waived by any act or acquiescence on the part of Adobe, its agents, or employees, except only by any instrument in writing, signed by an authorized officer of Adobe. + + 14.3 **English Version**. The English language version of this agreement will be the version used when interpreting or construing its terms. + + 14.4 **Entire Agreement**. This Agreement is the entire agreement, superseding any prior written or oral agreements, between you and Adobe relating to the AMS SDK. + +AMS_SDK_Agreement_en_US-20150930_v1 \ No newline at end of file diff --git a/sdks/Xamarin/ADBMobile/component/component.yaml b/sdks/Xamarin/ADBMobile/component/component.yaml index ffc69363..1721fcf3 100644 --- a/sdks/Xamarin/ADBMobile/component/component.yaml +++ b/sdks/Xamarin/ADBMobile/component/component.yaml @@ -7,19 +7,21 @@ license: License.md icons: - ADBMobile_128x128.png - ADBMobile_512x512.png -publisher-url: http://mobilemarketing.adobe.com +publisher-url: https://mobilemarketing.adobe.com/ libraries: ios-unified: ../lib/ios-unified/ADBMobile.XamarinIOSBinding.dll - ios-extension: ../lib/ios-extension/ADBMobile.XamarinIOSExtensionBinding.dll tvos: ../lib/tvos/ADBMobile.XamarinTvOSBinding.dll android: ../lib/android/ADBMobile.XamarinAndroidBinding.dll summary: "Xamarin bindings for Adobe Mobile Services SDKs." details: Details.md screenshots: getting-started: GettingStarted.md -version: 4.13.1 +version: 4.13.8 source: ../src/AdobeMobileSDKBinding.sln +src-url: https://github.com/Adobe-Marketing-Cloud/mobile-services +docs-url: https://marketing.adobe.com/resources/help/en_US/mobile/xamarin/ samples: iOS Sample: ../samples/iOSSample/iOSSample.sln - android Sample: ../samples/AndroidSample/AndroidSample.sln -... + tvOS Sample: ../samples/tvOSSample/tvOSSample.sln + Android Sample: ../samples/AndroidSample/AndroidSample.sln +... \ No newline at end of file diff --git a/sdks/Xamarin/ADBMobile/lib/android/ADBMobile.XamarinAndroidBinding.dll b/sdks/Xamarin/ADBMobile/lib/android/ADBMobile.XamarinAndroidBinding.dll index 503a594b..2af7e86c 100755 Binary files a/sdks/Xamarin/ADBMobile/lib/android/ADBMobile.XamarinAndroidBinding.dll and b/sdks/Xamarin/ADBMobile/lib/android/ADBMobile.XamarinAndroidBinding.dll differ diff --git a/sdks/Xamarin/ADBMobile/lib/ios-extension/ADBMobile.XamariniOSExtensionBinding.dll b/sdks/Xamarin/ADBMobile/lib/ios-extension/ADBMobile.XamariniOSExtensionBinding.dll deleted file mode 100755 index 9f75dcab..00000000 Binary files a/sdks/Xamarin/ADBMobile/lib/ios-extension/ADBMobile.XamariniOSExtensionBinding.dll and /dev/null differ diff --git a/sdks/Xamarin/ADBMobile/lib/ios-unified/ADBMobile.XamarinIOSBinding.dll b/sdks/Xamarin/ADBMobile/lib/ios-unified/ADBMobile.XamarinIOSBinding.dll index 10a1ad82..30be9c17 100755 Binary files a/sdks/Xamarin/ADBMobile/lib/ios-unified/ADBMobile.XamarinIOSBinding.dll and b/sdks/Xamarin/ADBMobile/lib/ios-unified/ADBMobile.XamarinIOSBinding.dll differ diff --git a/sdks/Xamarin/ADBMobile/lib/tvos/ADBMobile.XamarinTvOSBinding.dll b/sdks/Xamarin/ADBMobile/lib/tvos/ADBMobile.XamarinTvOSBinding.dll index 73a1325d..56f4f611 100755 Binary files a/sdks/Xamarin/ADBMobile/lib/tvos/ADBMobile.XamarinTvOSBinding.dll and b/sdks/Xamarin/ADBMobile/lib/tvos/ADBMobile.XamarinTvOSBinding.dll differ diff --git a/sdks/Xamarin/ADBMobile/samples/AndroidSample/AndroidSample.sln b/sdks/Xamarin/ADBMobile/samples/AndroidSample/AndroidSample.sln index d1f3470a..e52a4c9b 100644 --- a/sdks/Xamarin/ADBMobile/samples/AndroidSample/AndroidSample.sln +++ b/sdks/Xamarin/ADBMobile/samples/AndroidSample/AndroidSample.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 2012 -Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "AndroidSample", "AndroidSample\AndroidSample.csproj", "{7867166E-D0E5-4493-B7AA-1FBBA6A253EE}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AndroidSample", "AndroidSample\AndroidSample.csproj", "{799579C6-BBA2-44ED-BF6E-1D4561549D1C}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -9,9 +9,9 @@ Global Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {7867166E-D0E5-4493-B7AA-1FBBA6A253EE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {7867166E-D0E5-4493-B7AA-1FBBA6A253EE}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7867166E-D0E5-4493-B7AA-1FBBA6A253EE}.Release|Any CPU.ActiveCfg = Release|Any CPU - {7867166E-D0E5-4493-B7AA-1FBBA6A253EE}.Release|Any CPU.Build.0 = Release|Any CPU + {799579C6-BBA2-44ED-BF6E-1D4561549D1C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {799579C6-BBA2-44ED-BF6E-1D4561549D1C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {799579C6-BBA2-44ED-BF6E-1D4561549D1C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {799579C6-BBA2-44ED-BF6E-1D4561549D1C}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection EndGlobal diff --git a/sdks/Xamarin/ADBMobile/samples/AndroidSample/AndroidSample/AndroidSample.csproj b/sdks/Xamarin/ADBMobile/samples/AndroidSample/AndroidSample/AndroidSample.csproj index b7adb27d..4251e448 100644 --- a/sdks/Xamarin/ADBMobile/samples/AndroidSample/AndroidSample/AndroidSample.csproj +++ b/sdks/Xamarin/ADBMobile/samples/AndroidSample/AndroidSample/AndroidSample.csproj @@ -14,7 +14,7 @@ True True XamarinTest - v6.0 + v7.0 Properties\AndroidManifest.xml diff --git a/sdks/Xamarin/ADBMobile/samples/AndroidSample/AndroidSample/Properties/AssemblyInfo.cs b/sdks/Xamarin/ADBMobile/samples/AndroidSample/AndroidSample/Properties/AssemblyInfo.cs index e592f6c4..4b8ce3bf 100644 --- a/sdks/Xamarin/ADBMobile/samples/AndroidSample/AndroidSample/Properties/AssemblyInfo.cs +++ b/sdks/Xamarin/ADBMobile/samples/AndroidSample/AndroidSample/Properties/AssemblyInfo.cs @@ -10,7 +10,7 @@ [assembly: AssemblyConfiguration ("")] [assembly: AssemblyCompany ("Adobe Systems Inc.")] [assembly: AssemblyProduct ("Xamarin Android Sample")] -[assembly: AssemblyCopyright ("Copyright 2016 Adobe Systems Incorporated. All Rights Reserved. NOTICE: All information contained herein is, and remains the property of Adobe Systems Incorporated and its suppliers, if any. The intellectual and technical concepts contained herein are proprietary to Adobe Systems Incorporated and its suppliers and are protected by trade secret or copyright law. Dissemination of this information or reproduction of this material is strictly forbidden unless prior written permission is obtained from Adobe Systems Incorporated.")] +[assembly: AssemblyCopyright ("Copyright 2017 Adobe Systems Incorporated. All Rights Reserved. NOTICE: All information contained herein is, and remains the property of Adobe Systems Incorporated and its suppliers, if any. The intellectual and technical concepts contained herein are proprietary to Adobe Systems Incorporated and its suppliers and are protected by trade secret or copyright law. Dissemination of this information or reproduction of this material is strictly forbidden unless prior written permission is obtained from Adobe Systems Incorporated.")] [assembly: AssemblyTrademark ("")] [assembly: AssemblyCulture ("")] @@ -18,7 +18,7 @@ // The form "{Major}.{Minor}.*" will automatically update the build and revision, // and "{Major}.{Minor}.{Build}.*" will update just the revision. -[assembly: AssemblyVersion ("4.13.0")] +[assembly: AssemblyVersion ("4.13.7")] // The following attributes are used to specify the signing key for the assembly, // if desired. See the Mono documentation for more information about signing. diff --git a/sdks/Xamarin/ADBMobile/samples/AndroidSample/AndroidSample/Resources/Resource.designer.cs b/sdks/Xamarin/ADBMobile/samples/AndroidSample/AndroidSample/Resources/Resource.designer.cs index 63bf5759..9d6e673b 100644 --- a/sdks/Xamarin/ADBMobile/samples/AndroidSample/AndroidSample/Resources/Resource.designer.cs +++ b/sdks/Xamarin/ADBMobile/samples/AndroidSample/AndroidSample/Resources/Resource.designer.cs @@ -1,15 +1,15 @@ #pragma warning disable 1591 -// ------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Mono Runtime Version: 4.0.30319.42000 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -// ------------------------------------------------------------------------------ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ -[assembly: Android.Runtime.ResourceDesignerAttribute("AndroidSample.Resource", IsApplication=true)] +[assembly: global::Android.Runtime.ResourceDesignerAttribute("AndroidSample.Resource", IsApplication=true)] namespace AndroidSample { diff --git a/sdks/Xamarin/ADBMobile/samples/iOSSample/iOSSample/AdobeMobileSampleViewController.cs b/sdks/Xamarin/ADBMobile/samples/iOSSample/iOSSample/AdobeMobileSampleViewController.cs index e9b952aa..d0d14457 100644 --- a/sdks/Xamarin/ADBMobile/samples/iOSSample/iOSSample/AdobeMobileSampleViewController.cs +++ b/sdks/Xamarin/ADBMobile/samples/iOSSample/iOSSample/AdobeMobileSampleViewController.cs @@ -283,7 +283,7 @@ public override void RowSelected(UITableView tableView, NSIndexPath indexPath) settings.Milestones = "25,50,75"; break; case 28: // mediaAdCreateSettingsWithName - ADBMediaSettings adSettings = ADBMobile.MediaAdCreateSettings("adName1", 2, "playerName1", "name1", "podName1", 4, "CPM1"); + ADBMobile.MediaAdCreateSettings("adName1", 2, "playerName1", "name1", "podName1", 4, "CPM1"); break; case 29: // mediaOpenWithSettings ADBMobile.MediaOpenWithSettings(settings, (state) => diff --git a/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample.sln b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample.sln new file mode 100644 index 00000000..8adc9722 --- /dev/null +++ b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample.sln @@ -0,0 +1,23 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2012 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "tvOSSample", "tvOSSample\tvOSSample.csproj", "{151BF1C7-B326-4D50-B4E6-AF847A43345D}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|iPhoneSimulator = Debug|iPhoneSimulator + Release|iPhone = Release|iPhone + Release|iPhoneSimulator = Release|iPhoneSimulator + Debug|iPhone = Debug|iPhone + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {151BF1C7-B326-4D50-B4E6-AF847A43345D}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator + {151BF1C7-B326-4D50-B4E6-AF847A43345D}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator + {151BF1C7-B326-4D50-B4E6-AF847A43345D}.Release|iPhone.ActiveCfg = Release|iPhone + {151BF1C7-B326-4D50-B4E6-AF847A43345D}.Release|iPhone.Build.0 = Release|iPhone + {151BF1C7-B326-4D50-B4E6-AF847A43345D}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator + {151BF1C7-B326-4D50-B4E6-AF847A43345D}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator + {151BF1C7-B326-4D50-B4E6-AF847A43345D}.Debug|iPhone.ActiveCfg = Debug|iPhone + {151BF1C7-B326-4D50-B4E6-AF847A43345D}.Debug|iPhone.Build.0 = Debug|iPhone + EndGlobalSection +EndGlobal diff --git a/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/AppDelegate.cs b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/AppDelegate.cs new file mode 100644 index 00000000..638972e5 --- /dev/null +++ b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/AppDelegate.cs @@ -0,0 +1,25 @@ +using Foundation; +using UIKit; +using Com.Adobe.Mobile; + +namespace tvOSSample +{ + [Register("AppDelegate")] + public class AppDelegate : UIApplicationDelegate + { + public override UIWindow Window + { + get; + set; + } + + public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions) + { + // Adobe Mobile SDK - enable debug logging + ADBMobile.SetDebugLogging(true); + + return true; + } + } +} + diff --git a/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Content.imageset/Contents.json b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 00000000..3767d60b --- /dev/null +++ b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,54 @@ +{ + "images": [ + { + "idiom": "universal" + }, + { + "scale": "1x", + "idiom": "universal" + }, + { + "scale": "2x", + "idiom": "universal" + }, + { + "scale": "3x", + "idiom": "universal" + }, + { + "idiom": "iphone" + }, + { + "scale": "1x", + "idiom": "iphone" + }, + { + "scale": "2x", + "idiom": "iphone" + }, + { + "subtype": "retina4", + "scale": "2x", + "idiom": "iphone" + }, + { + "scale": "3x", + "idiom": "iphone" + }, + { + "idiom": "ipad" + }, + { + "scale": "1x", + "idiom": "ipad" + }, + { + "scale": "2x", + "idiom": "ipad" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} \ No newline at end of file diff --git a/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Contents.json b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Contents.json new file mode 100644 index 00000000..4caf392f --- /dev/null +++ b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Contents.json b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Contents.json new file mode 100644 index 00000000..521695b4 --- /dev/null +++ b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Contents.json @@ -0,0 +1,17 @@ +{ + "layers" : [ + { + "filename" : "Front.imagestacklayer" + }, + { + "filename" : "Middle.imagestacklayer" + }, + { + "filename" : "Back.imagestacklayer" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Content.imageset/Contents.json b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 00000000..3767d60b --- /dev/null +++ b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,54 @@ +{ + "images": [ + { + "idiom": "universal" + }, + { + "scale": "1x", + "idiom": "universal" + }, + { + "scale": "2x", + "idiom": "universal" + }, + { + "scale": "3x", + "idiom": "universal" + }, + { + "idiom": "iphone" + }, + { + "scale": "1x", + "idiom": "iphone" + }, + { + "scale": "2x", + "idiom": "iphone" + }, + { + "subtype": "retina4", + "scale": "2x", + "idiom": "iphone" + }, + { + "scale": "3x", + "idiom": "iphone" + }, + { + "idiom": "ipad" + }, + { + "scale": "1x", + "idiom": "ipad" + }, + { + "scale": "2x", + "idiom": "ipad" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} \ No newline at end of file diff --git a/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Contents.json b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Contents.json new file mode 100644 index 00000000..4caf392f --- /dev/null +++ b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 00000000..3767d60b --- /dev/null +++ b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,54 @@ +{ + "images": [ + { + "idiom": "universal" + }, + { + "scale": "1x", + "idiom": "universal" + }, + { + "scale": "2x", + "idiom": "universal" + }, + { + "scale": "3x", + "idiom": "universal" + }, + { + "idiom": "iphone" + }, + { + "scale": "1x", + "idiom": "iphone" + }, + { + "scale": "2x", + "idiom": "iphone" + }, + { + "subtype": "retina4", + "scale": "2x", + "idiom": "iphone" + }, + { + "scale": "3x", + "idiom": "iphone" + }, + { + "idiom": "ipad" + }, + { + "scale": "1x", + "idiom": "ipad" + }, + { + "scale": "2x", + "idiom": "ipad" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} \ No newline at end of file diff --git a/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Contents.json b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Contents.json new file mode 100644 index 00000000..4caf392f --- /dev/null +++ b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Content.imageset/Contents.json b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 00000000..3767d60b --- /dev/null +++ b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,54 @@ +{ + "images": [ + { + "idiom": "universal" + }, + { + "scale": "1x", + "idiom": "universal" + }, + { + "scale": "2x", + "idiom": "universal" + }, + { + "scale": "3x", + "idiom": "universal" + }, + { + "idiom": "iphone" + }, + { + "scale": "1x", + "idiom": "iphone" + }, + { + "scale": "2x", + "idiom": "iphone" + }, + { + "subtype": "retina4", + "scale": "2x", + "idiom": "iphone" + }, + { + "scale": "3x", + "idiom": "iphone" + }, + { + "idiom": "ipad" + }, + { + "scale": "1x", + "idiom": "ipad" + }, + { + "scale": "2x", + "idiom": "ipad" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} \ No newline at end of file diff --git a/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Contents.json b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Contents.json new file mode 100644 index 00000000..4caf392f --- /dev/null +++ b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Contents.json b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Contents.json new file mode 100644 index 00000000..521695b4 --- /dev/null +++ b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Contents.json @@ -0,0 +1,17 @@ +{ + "layers" : [ + { + "filename" : "Front.imagestacklayer" + }, + { + "filename" : "Middle.imagestacklayer" + }, + { + "filename" : "Back.imagestacklayer" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Content.imageset/Contents.json b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 00000000..3767d60b --- /dev/null +++ b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,54 @@ +{ + "images": [ + { + "idiom": "universal" + }, + { + "scale": "1x", + "idiom": "universal" + }, + { + "scale": "2x", + "idiom": "universal" + }, + { + "scale": "3x", + "idiom": "universal" + }, + { + "idiom": "iphone" + }, + { + "scale": "1x", + "idiom": "iphone" + }, + { + "scale": "2x", + "idiom": "iphone" + }, + { + "subtype": "retina4", + "scale": "2x", + "idiom": "iphone" + }, + { + "scale": "3x", + "idiom": "iphone" + }, + { + "idiom": "ipad" + }, + { + "scale": "1x", + "idiom": "ipad" + }, + { + "scale": "2x", + "idiom": "ipad" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} \ No newline at end of file diff --git a/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Contents.json b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Contents.json new file mode 100644 index 00000000..4caf392f --- /dev/null +++ b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 00000000..3767d60b --- /dev/null +++ b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,54 @@ +{ + "images": [ + { + "idiom": "universal" + }, + { + "scale": "1x", + "idiom": "universal" + }, + { + "scale": "2x", + "idiom": "universal" + }, + { + "scale": "3x", + "idiom": "universal" + }, + { + "idiom": "iphone" + }, + { + "scale": "1x", + "idiom": "iphone" + }, + { + "scale": "2x", + "idiom": "iphone" + }, + { + "subtype": "retina4", + "scale": "2x", + "idiom": "iphone" + }, + { + "scale": "3x", + "idiom": "iphone" + }, + { + "idiom": "ipad" + }, + { + "scale": "1x", + "idiom": "ipad" + }, + { + "scale": "2x", + "idiom": "ipad" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} \ No newline at end of file diff --git a/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Contents.json b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Contents.json new file mode 100644 index 00000000..4caf392f --- /dev/null +++ b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json new file mode 100644 index 00000000..df957c0d --- /dev/null +++ b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json @@ -0,0 +1,32 @@ +{ + "assets" : [ + { + "size" : "1280x768", + "idiom" : "tv", + "filename" : "App Icon - Large.imagestack", + "role" : "primary-app-icon" + }, + { + "size" : "400x240", + "idiom" : "tv", + "filename" : "App Icon - Small.imagestack", + "role" : "primary-app-icon" + }, + { + "size" : "2320x720", + "idiom" : "tv", + "filename" : "Top Shelf Image Wide.imageset", + "role" : "top-shelf-image-wide" + }, + { + "size" : "1920x720", + "idiom" : "tv", + "filename" : "Top Shelf Image.imageset", + "role" : "top-shelf-image" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image Wide.imageset/Contents.json b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image Wide.imageset/Contents.json new file mode 100644 index 00000000..3767d60b --- /dev/null +++ b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image Wide.imageset/Contents.json @@ -0,0 +1,54 @@ +{ + "images": [ + { + "idiom": "universal" + }, + { + "scale": "1x", + "idiom": "universal" + }, + { + "scale": "2x", + "idiom": "universal" + }, + { + "scale": "3x", + "idiom": "universal" + }, + { + "idiom": "iphone" + }, + { + "scale": "1x", + "idiom": "iphone" + }, + { + "scale": "2x", + "idiom": "iphone" + }, + { + "subtype": "retina4", + "scale": "2x", + "idiom": "iphone" + }, + { + "scale": "3x", + "idiom": "iphone" + }, + { + "idiom": "ipad" + }, + { + "scale": "1x", + "idiom": "ipad" + }, + { + "scale": "2x", + "idiom": "ipad" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} \ No newline at end of file diff --git a/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json new file mode 100644 index 00000000..3767d60b --- /dev/null +++ b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json @@ -0,0 +1,54 @@ +{ + "images": [ + { + "idiom": "universal" + }, + { + "scale": "1x", + "idiom": "universal" + }, + { + "scale": "2x", + "idiom": "universal" + }, + { + "scale": "3x", + "idiom": "universal" + }, + { + "idiom": "iphone" + }, + { + "scale": "1x", + "idiom": "iphone" + }, + { + "scale": "2x", + "idiom": "iphone" + }, + { + "subtype": "retina4", + "scale": "2x", + "idiom": "iphone" + }, + { + "scale": "3x", + "idiom": "iphone" + }, + { + "idiom": "ipad" + }, + { + "scale": "1x", + "idiom": "ipad" + }, + { + "scale": "2x", + "idiom": "ipad" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} \ No newline at end of file diff --git a/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/Contents.json b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/Contents.json new file mode 100644 index 00000000..4caf392f --- /dev/null +++ b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/LaunchImages.launchimage/Contents.json b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/LaunchImages.launchimage/Contents.json new file mode 100644 index 00000000..c3140e97 --- /dev/null +++ b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Assets.xcassets/LaunchImages.launchimage/Contents.json @@ -0,0 +1,162 @@ +{ + "images": [ + { + "minimum-system-version": "8.0", + "orientation": "portrait", + "extent": "full-screen", + "size": "414x736", + "subtype": "736h", + "scale": "3x", + "idiom": "iphone" + }, + { + "minimum-system-version": "8.0", + "orientation": "portrait", + "extent": "full-screen", + "size": "375x667", + "subtype": "667h", + "scale": "2x", + "idiom": "iphone" + }, + { + "minimum-system-version": "8.0", + "orientation": "landscape", + "extent": "full-screen", + "size": "736x414", + "subtype": "736h", + "scale": "3x", + "idiom": "iphone" + }, + { + "minimum-system-version": "7.0", + "orientation": "portrait", + "extent": "full-screen", + "size": "320x480", + "scale": "2x", + "idiom": "iphone" + }, + { + "minimum-system-version": "7.0", + "orientation": "portrait", + "extent": "full-screen", + "size": "320x568", + "subtype": "retina4", + "scale": "2x", + "idiom": "iphone" + }, + { + "minimum-system-version": "7.0", + "orientation": "portrait", + "extent": "full-screen", + "size": "768x1024", + "scale": "1x", + "idiom": "ipad" + }, + { + "minimum-system-version": "7.0", + "orientation": "portrait", + "extent": "full-screen", + "size": "768x1024", + "scale": "2x", + "idiom": "ipad" + }, + { + "minimum-system-version": "7.0", + "orientation": "landscape", + "extent": "full-screen", + "size": "1024x768", + "scale": "1x", + "idiom": "ipad" + }, + { + "minimum-system-version": "7.0", + "orientation": "landscape", + "extent": "full-screen", + "size": "1024x768", + "scale": "2x", + "idiom": "ipad" + }, + { + "orientation": "portrait", + "extent": "full-screen", + "size": "320x480", + "scale": "1x", + "idiom": "iphone" + }, + { + "orientation": "portrait", + "extent": "full-screen", + "size": "320x480", + "scale": "2x", + "idiom": "iphone" + }, + { + "orientation": "portrait", + "extent": "full-screen", + "size": "320x568", + "subtype": "retina4", + "scale": "2x", + "idiom": "iphone" + }, + { + "orientation": "portrait", + "extent": "full-screen", + "size": "768x1024", + "scale": "1x", + "idiom": "ipad" + }, + { + "orientation": "portrait", + "extent": "full-screen", + "size": "768x1024", + "scale": "2x", + "idiom": "ipad" + }, + { + "orientation": "portrait", + "extent": "to-status-bar", + "size": "768x1004", + "scale": "1x", + "idiom": "ipad" + }, + { + "orientation": "portrait", + "extent": "to-status-bar", + "size": "768x1004", + "scale": "2x", + "idiom": "ipad" + }, + { + "orientation": "landscape", + "extent": "full-screen", + "size": "1024x768", + "scale": "1x", + "idiom": "ipad" + }, + { + "orientation": "landscape", + "extent": "full-screen", + "size": "1024x768", + "scale": "2x", + "idiom": "ipad" + }, + { + "orientation": "landscape", + "extent": "to-status-bar", + "size": "1024x748", + "scale": "1x", + "idiom": "ipad" + }, + { + "orientation": "landscape", + "extent": "to-status-bar", + "size": "1024x748", + "scale": "2x", + "idiom": "ipad" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} \ No newline at end of file diff --git a/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Entitlements.plist b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Entitlements.plist new file mode 100644 index 00000000..9ae59937 --- /dev/null +++ b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Entitlements.plist @@ -0,0 +1,6 @@ + + + + + + diff --git a/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Info.plist b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Info.plist new file mode 100644 index 00000000..6aa743a9 --- /dev/null +++ b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Info.plist @@ -0,0 +1,32 @@ + + + + + CFBundleDisplayName + tvOSSample + CFBundleName + tvOSSample + CFBundleIdentifier + com.adobe.mobile.tvossample + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1.0 + MinimumOSVersion + 9.0 + UIDeviceFamily + + 3 + + UIMainStoryboardFile + Main + UIRequiredDeviceCapabilities + + arm64 + + XSAppIconAssets + Assets.xcassets/App Icon & Top Shelf Image.brandassets + XSLaunchImageAssets + Assets.xcassets/LaunchImages.launchimage + + diff --git a/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Main.cs b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Main.cs new file mode 100644 index 00000000..f2f04521 --- /dev/null +++ b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Main.cs @@ -0,0 +1,15 @@ +using UIKit; + +namespace tvOSSample +{ + public class Application + { + // This is the main entry point of the application. + static void Main(string[] args) + { + // if you want to use a different Application Delegate class from "AppDelegate" + // you can specify it here. + UIApplication.Main(args, null, "AppDelegate"); + } + } +} diff --git a/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Main.storyboard b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Main.storyboard new file mode 100644 index 00000000..7431fc09 --- /dev/null +++ b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/Main.storyboard @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/ViewController.cs b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/ViewController.cs new file mode 100644 index 00000000..ec6d3b8e --- /dev/null +++ b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/ViewController.cs @@ -0,0 +1,439 @@ +using System; +using Foundation; +using UIKit; +using Com.Adobe.Mobile; + +namespace tvOSSample +{ + public partial class ViewController : UIViewController + { + public ViewController(IntPtr handle) : base(handle) + { + } + + #region View lifecycle + UITableView table; + public override void ViewDidLoad() + { + base.ViewDidLoad(); + + table = new UITableView(View.Bounds); // defaults to Plain style + string[] tableItems = new string[] { + "version", + "privacyStatus", + "setPrivacyStatus - in", + "setPrivacyStatus - out", + "setPrivacyStatus - unknown", + "lifetimeValue", + "userIdentifier", + "setUserIdentifier", + "debugLogging", + "setDebugLogging - true", + "setDebugLogging - false", + "keepLifecycleSessionAlive", + "trackState", + "trackAction", + "trackActionFromBackground", + "trackLocation", + "installTVMLHooks", + "trackLifetimeValueIncrease", + "trackTimedActionStart", + "trackTimedActionUpdate", + "trackTimedActionEnd", + "trackingTimedActionExists", + "trackingIdentifier", + "trackingSendQueuedHits", + "trackingClearQueue", + "trackingGetQueueSize", + "mediaCreateSettingsWithName", + "mediaAdCreateSettingsWithName", + "mediaOpenWithSettings", + "mediaClose", + "mediaPlay", + "mediaComplete", + "mediaStop", + "mediaClick", + "mediaTrack", + "targetLoadRequest", + "targetCreateRequestWithName", + "targetCreateOrderConfirmRequestWithName", + "targetClearCookies", + "audienceVisitorProfile", + "audienceDpid", + "audienceDpuuid", + "audienceSetDpid", + "audienceSignalWithData", + "audienceReset", + "visitorMarketingCloudID", + "visitorSyncIdentifiers", + "setAdvertisingIdentifier", + "setAdvertisingIdentiferNull", + "setPushIdentifier", + "setPushIdentifierNull", + "setAppGroup", + "setAppGroupNull", + "setAppExtensionTypeRegular", + "setAppExtensionTypeStandalone", + "registerAdobeDataCallback", + "trackPushMessageClickthrough", + "trackLocalNotificationClickthrough", + "trackAdobeDeepLink", + "acquisitionCampaignStartForApp", + "targetLoadRequestWithProfileOrderMboxParameters", + "targetLoadRequestWithRequestLocation", + "targetThirdPartyId", + "targetSetThirdPartyId", + "targetSetThirdPartyIdNull", + "targetPcID", + "targetSessionID", + "visitorSyncIdentifiers", + "visitorSyncIdentifiersAuthState", + "visitorSyncIdentifierWithTypeAuthState", + "visitorGetIDs", + "visitorAppendToURL", + "collectPII" + }; + + table.Source = new TableSource(tableItems); + Add(table); + } + public override void ViewWillAppear(bool animated) + { + base.ViewWillAppear(animated); + } + + public override void ViewDidAppear(bool animated) + { + base.ViewDidAppear(animated); + } + + public override void ViewWillDisappear(bool animated) + { + base.ViewWillDisappear(animated); + } + + public override void ViewDidDisappear(bool animated) + { + base.ViewDidDisappear(animated); + } + #endregion + + public override void DidReceiveMemoryWarning() + { + base.DidReceiveMemoryWarning(); + // Release any cached data, images, etc that aren't in use. + } + + public class TableSource : UITableViewSource + { + string[] tableItems; + string cellIdentifier = "TableCell"; + NSDictionary cData; + ADBMediaSettings settings; + ADBTargetLocationRequest req; + + public TableSource(string[] items) + { + tableItems = items; + cData = NSDictionary.FromObjectAndKey(NSObject.FromObject("val1"), NSObject.FromObject("key1")); + + } + public override nint RowsInSection(UITableView tableview, nint section) + { + return tableItems.Length; + } + public override UITableViewCell GetCell(UITableView tableView, Foundation.NSIndexPath indexPath) + { + UITableViewCell cell = tableView.DequeueReusableCell(cellIdentifier); + + // if there are no cells to reuse, create a new one + if (cell == null) + cell = new UITableViewCell(UITableViewCellStyle.Default, cellIdentifier); + cell.TextLabel.Text = tableItems[indexPath.Row]; + return cell; + } + + public void ShowAlert(string title, string message) + { + UIAlertController uiAlertController = UIAlertController.Create(title != null ? title : "(null)", message != null ? message : "(null)", UIAlertControllerStyle.Alert); + UIAlertAction uiAlertAction = UIAlertAction.Create("ok", UIAlertActionStyle.Default, null); + uiAlertController.AddAction(uiAlertAction); + UIViewController viewController = UIApplication.SharedApplication.KeyWindow.RootViewController; + viewController.PresentViewController(uiAlertController, true, null); + } + + public override void RowSelected(UITableView tableView, NSIndexPath indexPath) + { + switch (indexPath.Row) + { + case 0: // "version" + ShowAlert("version", ADBMobile.Version()); + break; + case 1: // "privacyStatus" + ShowAlert("privacy status", ADBMobile.PrivacyStatus().ToString()); + break; + case 2: // "setPrivacyStatus - in" + ADBMobile.SetPrivacyStatus(ADBMobilePrivacyStatus.OptIn); + break; + case 3: // "setPrivacyStatus - out" + ADBMobile.SetPrivacyStatus(ADBMobilePrivacyStatus.OptOut); + break; + case 4: // "setPrivacyStatus - unknown" + ADBMobile.SetPrivacyStatus(ADBMobilePrivacyStatus.Unknown); + break; + case 5: // "lifetimeValue" + ShowAlert("lifetime value", ADBMobile.LifetimeValue().ToString()); + break; + case 6: // "userIdentifier" + ShowAlert("user identifier", ADBMobile.UserIdentifier()); + break; + case 7: // "setUserIdentifier" + ADBMobile.SetUserIdentifier("imBatman"); + break; + case 8: // "debugLogging" + ShowAlert("debug logging", ADBMobile.DebugLogging().ToString()); + break; + case 9: // "setDebugLogging - true" + ADBMobile.SetDebugLogging(true); + break; + case 10: // "setDebugLogging - false" + ADBMobile.SetDebugLogging(false); + break; + case 11: // "keepLifecycleSessionAlive" + ADBMobile.KeepLifecycleSessionAlive(); + break; + case 12: // "trackState" + ADBMobile.TrackState("testState1", cData); + break; + case 13: // "trackAction" + ADBMobile.TrackAction("testAction1", cData); + ADBMobile.TrackAction("testAction1", null); + ADBMobile.TrackAction(null, cData); + ADBMobile.TrackAction(null, null); + break; + case 14: // "trackActionFromBackground" + ADBMobile.TrackActionFromBackground("testAction1", cData); + break; + case 15: // "trackLocation" + CoreLocation.CLLocation l = new CoreLocation.CLLocation(111.111, 44.156); + ADBMobile.TrackLocation(l, null); + break; + case 16: // "installTVMLHooks" + ADBMobile.InstallTVMLHooks(null); + break; + case 17: // "trackLifetimeValueIncrease" + ADBMobile.TrackLifetimeValueIncrease(new NSDecimalNumber(10.4), cData); + break; + case 18: // "trackTimedActionStart" + ADBMobile.TrackTimedActionStart("timedAction1", cData); + break; + case 19: // "trackTimedActionUpdate" + NSDictionary updatedData = NSDictionary.FromObjectAndKey(NSObject.FromObject("val2"), NSObject.FromObject("key2")); + ADBMobile.TrackTimedActionUpdate("timedAction1", updatedData); + break; + case 20: // "trackTimedActionEnd" + ADBMobile.TrackTimedActionEnd("timedAction1", (double arg1, double arg2, NSMutableDictionary arg3) => + { + return true; + }); + break; + case 21: // "trackingTimedActionExists" + ShowAlert("timed action exists", ADBMobile.TrackingTimedActionExists("timedAction1").ToString()); + break; + case 22: // "trackingIdentifier" + ShowAlert("tracking identifier", ADBMobile.TrackingIdentifier()); + break; + case 23: // "trackingSendQueuedHits" + ADBMobile.TrackingSendQueuedHits(); + break; + case 24: // "trackingClearQueue" + ADBMobile.TrackingClearQueue(); + break; + case 25: // "trackingGetQueueSize" + ShowAlert("tracking queue size", ADBMobile.TrackingGetQueueSize().ToString()); + break; + case 26: // "mediaCreateSettingsWithName" + settings = ADBMobile.MediaCreateSettings("name1", 10, "playerName1", "playerID1"); + settings.Milestones = "25,50,75"; + break; + case 27: // "mediaAdCreateSettingsWithName" + ADBMobile.MediaAdCreateSettings("adName1", 2, "playerName1", "name1", "podName1", 4, "CPM1"); + break; + case 28: // "mediaOpenWithSettings" + ADBMobile.MediaOpenWithSettings(settings, (state) => + { + Console.WriteLine(state.Name); + }); + break; + case 29: // "mediaClose" + ADBMobile.MediaClose(settings.Name); + break; + case 30: // "mediaPlay" + ADBMobile.MediaPlay(settings.Name, 0); + break; + case 31: // "mediaComplete" + ADBMobile.MediaComplete(settings.Name, 5); + break; + case 32: // "mediaStop" + ADBMobile.MediaStop(settings.Name, 3); + break; + case 33: // "mediaClick" + ADBMobile.MediaClick(settings.Name, 3); + break; + case 34: // "mediaTrack" + ADBMobile.MediaTrack(settings.Name, null); + break; + case 35: // "targetLoadRequest" + ADBMobile.TargetLoadRequest(req, (context) => + { + Console.WriteLine(context); + }); + break; + case 36: // "targetCreateRequestWithName" + NSDictionary dict = NSDictionary.FromObjectAndKey(NSObject.FromObject("value2"), NSObject.FromObject("key1")); + req = ADBMobile.TargetCreateRequest("iOSTest", "defGal", dict); + break; + case 37: // "targetCreateOrderConfirmRequestWithName" + ADBMobile.TargetCreateOrderConfirmRequest("myOrder", "12345", "29.41", "cool stuff", null); + break; + case 38: // "targetClearCookies" + ADBMobile.TargetClearCookies(); + break; + case 39: // "audienceVisitorProfile" + ShowAlert("audience visitor profile", ADBMobile.AudienceVisitorProfile().ToString()); + break; + case 40: // "audienceDpid" + ShowAlert("audience dpid", ADBMobile.AudienceDpid()); + break; + case 41: // "audienceDpuuid" + ShowAlert("audience dpuuid", ADBMobile.AudienceDpuuid()); + break; + case 42: // "audienceSetDpid" + ADBMobile.AudienceSetDpidAndDpuuid("testDpid", "testDpuuid"); + break; + case 43: // "audienceSignalWithData", + NSDictionary audienceData = NSDictionary.FromObjectAndKey(NSObject.FromObject("value2"), NSObject.FromObject("key1")); + ADBMobile.AudienceSignalWithData(audienceData, (context) => + { + Console.WriteLine(context); + }); + break; + case 44: // "audienceReset" + ADBMobile.AudienceReset(); + break; + case 45: // "visitorMarketingCloudID" + ShowAlert("visitor mcid", ADBMobile.VisitorMarketingCloudID()); + break; + + case 46: // "visitorSyncIdentifiers" + NSDictionary vidDict = NSDictionary.FromObjectAndKey(NSObject.FromObject("value2"), NSObject.FromObject("pushID")); + ADBMobile.VisitorSyncIdentifiers(vidDict); + break; + case 47: // "setAdvertisingIdentifier", + ADBMobile.SetAdvertisingIdentifier("testAdid"); + break; + case 48: // "setAdvertisingIdentiferNull", + ADBMobile.SetAdvertisingIdentifier(null); + break; + case 49: // "setPushIdentifier", + ADBMobile.SetPushIdentifier(NSData.FromString("testPushId")); + break; + case 50: // "setPushIdentifierNull", + ADBMobile.SetPushIdentifier(null); + break; + case 51: // "setAppGroup", + ADBMobile.SetAppGroup("testAppGroup"); + break; + case 52: // "setAppGroupNull" + ADBMobile.SetAppGroup(null); + break; + case 53: // "setAppExtensionTypeRegular" + ADBMobile.SetAppExtensionType(ADBMobileAppExtensionType.Regular); + break; + case 54: // "setAppExtensionTypeStandalone" + ADBMobile.SetAppExtensionType(ADBMobileAppExtensionType.StandAlone); + break; + case 55: // "registerAdobeDataCallback" + ADBMobile.RegisterAdobeDataCallback((adobeMobileDataEvent, callbackData) => + { + ShowAlert("adobe data callback", "event: " + adobeMobileDataEvent + "\ndata: " + callbackData); + }); + break; + case 56: // "trackPushMessageClickthrough" + ADBMobile.TrackPushMessageClickThrough(NSDictionary.FromObjectAndKey(NSObject.FromObject("value"), NSObject.FromObject("key"))); + break; + case 57: // "trackLocalNotificationClickthrough" + ADBMobile.TrackLocalNotificationClickThrough(NSDictionary.FromObjectAndKey(NSObject.FromObject("value"), NSObject.FromObject("key"))); + break; + case 58: // "trackAdobeDeepLink" + ADBMobile.TrackAdobeDeepLink(NSUrl.FromString("http://adobe.com")); + break; + case 59: // "acquisitionCampaignStartForApp" + ADBMobile.AcquisitionCampaignStartForApp("com.adobe.test", NSDictionary.FromObjectAndKey(NSObject.FromObject("value"), NSObject.FromObject("key"))); + break; + case 60: // "targetLoadRequestWithProfileOrderMboxParameters" + ADBMobile.TargetLoadRequest("someMbox", + "defaultContent", + NSDictionary.FromObjectAndKey(NSObject.FromObject("value"), NSObject.FromObject("key")), + NSDictionary.FromObjectAndKey(NSObject.FromObject("value"), NSObject.FromObject("key")), + NSDictionary.FromObjectAndKey(NSObject.FromObject("value"), NSObject.FromObject("key")), + (context) => + { + Console.WriteLine(context); + }); + break; + case 61: // "targetLoadRequestWithRequestLocation" + ADBMobile.TargetLoadRequest("someMbox", + "defaultContent", + NSDictionary.FromObjectAndKey(NSObject.FromObject("value"), NSObject.FromObject("key")), + NSDictionary.FromObjectAndKey(NSObject.FromObject("value"), NSObject.FromObject("key")), + NSDictionary.FromObjectAndKey(NSObject.FromObject("value"), NSObject.FromObject("key")), + NSDictionary.FromObjectAndKey(NSObject.FromObject("value"), NSObject.FromObject("key")), + (context) => + { + Console.WriteLine(context); + }); + break; + case 62: // "targetThirdPartyId" + ShowAlert("target thirdPartyId", ADBMobile.TargetThirdPartyID()); + break; + case 63: // "targetSetThirdPartyId" + ADBMobile.TargetSetThirdPartyID("testThirdPartyId"); + break; + case 64: // "targetSetThirdPartyIdNull" + ADBMobile.TargetSetThirdPartyID(null); + break; + case 65: // "targetPcID" + ShowAlert("target PcID", ADBMobile.TargetPcID()); + break; + case 66: // "targetSessionID" + ShowAlert("target SessionID", ADBMobile.TargetSessionID()); + break; + case 67: // "visitorSyncIdentifiers" + ADBMobile.VisitorSyncIdentifier("idType", "identifier0", ADBMobileVisitorAuthenticationState.Authenticated); + break; + case 68: // "visitorSyncIdentifiersAuthState" + ADBMobile.VisitorSyncIdentifiers(NSDictionary.FromObjectAndKey(NSObject.FromObject("value"), NSObject.FromObject("key"))); + break; + case 69: // "visitorSyncIdentifierWithTypeAuthState" + ADBMobile.VisitorSyncIdentifiers(NSDictionary.FromObjectAndKey(NSObject.FromObject("value"), NSObject.FromObject("key")), ADBMobileVisitorAuthenticationState.Unknown); + break; + case 70: // "visitorGetIDs" + ShowAlert("visitor ids", ADBMobile.VisitorGetIDs().ToString()); + break; + case 71: // "visitorAppendToURL" + ShowAlert("visitor appendToURL", ADBMobile.VisitorAppendToURL(NSUrl.FromString("http://adobe.com")).ToString()); + break; + case 72: // "collectPII" + NSDictionary data = (Foundation.NSDictionary)NSDictionary.FromObjectAndKey(NSObject.FromObject("value"), NSObject.FromObject("key")); + ADBMobile.CollectPII(data); + break; + } + + tableView.DeselectRow(indexPath, true); // normal iOS behaviour is to remove the blue highlight + } + + } + } +} + diff --git a/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/ViewController.designer.cs b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/ViewController.designer.cs new file mode 100644 index 00000000..97c0df22 --- /dev/null +++ b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/ViewController.designer.cs @@ -0,0 +1,17 @@ +// +// This file has been generated automatically by MonoDevelop to store outlets and +// actions made in the Xcode designer. If it is removed, they will be lost. +// Manual changes to this file may not be handled correctly. +// +using Foundation; + +namespace tvOSSample +{ + [Register("ViewController")] + partial class ViewController + { + void ReleaseDesignerOutlets() + { + } + } +} diff --git a/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/tvOSSample.csproj b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/tvOSSample.csproj new file mode 100644 index 00000000..40958550 --- /dev/null +++ b/sdks/Xamarin/ADBMobile/samples/tvOSSample/tvOSSample/tvOSSample.csproj @@ -0,0 +1,138 @@ + + + + Debug + iPhoneSimulator + {151BF1C7-B326-4D50-B4E6-AF847A43345D} + {06FA79CB-D6CD-4721-BB4B-1BD202089C55};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + Exe + tvOSSample + tvOSSample + Resources + + + true + full + false + bin\iPhoneSimulator\Debug + DEBUG; + prompt + 4 + iPhone Developer + true + true + true + true + 29851 + None + x86_64 + HttpClientHandler + Default + x86 + + + pdbonly + true + bin\iPhone\Release + prompt + 4 + iPhone Developer + true + true + true + true + true + Entitlements.plist + SdkOnly + ARM64 + HttpClientHandler + Default + x86 + + + pdbonly + true + bin\iPhoneSimulator\Release + prompt + 4 + iPhone Developer + true + true + None + x86_64 + HttpClientHandler + Default + x86 + + + true + full + false + bin\iPhone\Debug + DEBUG; + prompt + 4 + iPhone Developer + true + true + true + true + true + true + Entitlements.plist + SdkOnly + ARM64 + HttpClientHandler + Default + x86 + + + + + + + + ..\..\..\lib\tvos\ADBMobile.XamarinTvOSBinding.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ViewController.cs + + + + + + + \ No newline at end of file diff --git a/sdks/Xamarin/ADBMobile/src/ADBMobile.XamarinAndroidBinding/ADBMobile.XamarinAndroidBinding.csproj b/sdks/Xamarin/ADBMobile/src/ADBMobile.XamarinAndroidBinding/ADBMobile.XamarinAndroidBinding.csproj index ae44fdac..8f1eeced 100644 --- a/sdks/Xamarin/ADBMobile/src/ADBMobile.XamarinAndroidBinding/ADBMobile.XamarinAndroidBinding.csproj +++ b/sdks/Xamarin/ADBMobile/src/ADBMobile.XamarinAndroidBinding/ADBMobile.XamarinAndroidBinding.csproj @@ -51,7 +51,7 @@ - + diff --git a/sdks/Xamarin/ADBMobile/src/ADBMobile.XamarinAndroidBinding/Jars/adobeMobileLibrary-4.13.1.jar b/sdks/Xamarin/ADBMobile/src/ADBMobile.XamarinAndroidBinding/Jars/adobeMobileLibrary-4.13.1.jar deleted file mode 100644 index 53370fe2..00000000 Binary files a/sdks/Xamarin/ADBMobile/src/ADBMobile.XamarinAndroidBinding/Jars/adobeMobileLibrary-4.13.1.jar and /dev/null differ diff --git a/sdks/Android/AdobeMobileLibrary/adobeMobileLibrary-4.13.7.jar b/sdks/Xamarin/ADBMobile/src/ADBMobile.XamarinAndroidBinding/Jars/adobeMobileLibrary-4.13.7.jar similarity index 100% rename from sdks/Android/AdobeMobileLibrary/adobeMobileLibrary-4.13.7.jar rename to sdks/Xamarin/ADBMobile/src/ADBMobile.XamarinAndroidBinding/Jars/adobeMobileLibrary-4.13.7.jar diff --git a/sdks/Xamarin/ADBMobile/src/ADBMobile.XamarinAndroidBinding/Properties/AssemblyInfo.cs b/sdks/Xamarin/ADBMobile/src/ADBMobile.XamarinAndroidBinding/Properties/AssemblyInfo.cs index f8fcab60..2cf01c22 100644 --- a/sdks/Xamarin/ADBMobile/src/ADBMobile.XamarinAndroidBinding/Properties/AssemblyInfo.cs +++ b/sdks/Xamarin/ADBMobile/src/ADBMobile.XamarinAndroidBinding/Properties/AssemblyInfo.cs @@ -10,7 +10,7 @@ [assembly: AssemblyConfiguration ("")] [assembly: AssemblyCompany ("Adobe Systems Inc.")] [assembly: AssemblyProduct ("Adobe Mobile SDK")] -[assembly: AssemblyCopyright ("Copyright 2016 Adobe Systems Incorporated. All Rights Reserved. NOTICE: All information contained herein is, and remains the property of Adobe Systems Incorporated and its suppliers, if any. The intellectual and technical concepts contained herein are proprietary to Adobe Systems Incorporated and its suppliers and are protected by trade secret or copyright law. Dissemination of this information or reproduction of this material is strictly forbidden unless prior written permission is obtained from Adobe Systems Incorporated.")] +[assembly: AssemblyCopyright ("Copyright 2017 Adobe Systems Incorporated. All Rights Reserved. NOTICE: All information contained herein is, and remains the property of Adobe Systems Incorporated and its suppliers, if any. The intellectual and technical concepts contained herein are proprietary to Adobe Systems Incorporated and its suppliers and are protected by trade secret or copyright law. Dissemination of this information or reproduction of this material is strictly forbidden unless prior written permission is obtained from Adobe Systems Incorporated.")] [assembly: AssemblyTrademark ("")] [assembly: AssemblyCulture ("")] @@ -19,7 +19,7 @@ // The form "{Major}.{Minor}.*" will automatically update the build and revision, // and "{Major}.{Minor}.{Build}.*" will update just the revision. -[assembly: AssemblyVersion ("4.13.1")] +[assembly: AssemblyVersion ("4.13.7")] // The following attributes are used to specify the signing key for the assembly, // if desired. See the Mono documentation for more information about signing. diff --git a/sdks/Xamarin/ADBMobile/src/ADBMobile.XamarinIOSExtensionBinding/ADBMobile.XamarinIOSExtensionBinding.csproj b/sdks/Xamarin/ADBMobile/src/ADBMobile.XamarinIOSExtensionBinding/ADBMobile.XamarinIOSExtensionBinding.csproj deleted file mode 100644 index 62e72b88..00000000 --- a/sdks/Xamarin/ADBMobile/src/ADBMobile.XamarinIOSExtensionBinding/ADBMobile.XamarinIOSExtensionBinding.csproj +++ /dev/null @@ -1,54 +0,0 @@ - - - - Debug - AnyCPU - {B5BC46D4-76A1-4C10-B843-51DCFEF795C7} - {8FFB629D-F513-41CE-95D2-7ECE97B6EEEC};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - Library - ADBMobile.XamarinIOSExtensionBinding - ADBMobile.XamarinIOSExtensionBinding - Resources - - - true - full - false - bin\Debug - DEBUG; - prompt - 4 - true - - - true - bin\Release - - prompt - 4 - true - - - - - - - - - - - - - - - - - Static - False - True - SystemConfiguration - -lsqlite3.0 - - - - \ No newline at end of file diff --git a/sdks/Xamarin/ADBMobile/src/ADBMobile.XamarinIOSExtensionBinding/AdobeMobileLibrary_Extension.a b/sdks/Xamarin/ADBMobile/src/ADBMobile.XamarinIOSExtensionBinding/AdobeMobileLibrary_Extension.a deleted file mode 100644 index 73668c99..00000000 Binary files a/sdks/Xamarin/ADBMobile/src/ADBMobile.XamarinIOSExtensionBinding/AdobeMobileLibrary_Extension.a and /dev/null differ diff --git a/sdks/Xamarin/ADBMobile/src/ADBMobile.XamarinIOSExtensionBinding/ApiDefinition.cs b/sdks/Xamarin/ADBMobile/src/ADBMobile.XamarinIOSExtensionBinding/ApiDefinition.cs deleted file mode 100644 index 3fe9b8cd..00000000 --- a/sdks/Xamarin/ADBMobile/src/ADBMobile.XamarinIOSExtensionBinding/ApiDefinition.cs +++ /dev/null @@ -1,606 +0,0 @@ -using System; -using CoreLocation; -using Foundation; -using ObjCRuntime; - -namespace Com.Adobe.Mobile -{ - // @interface ADBMobile : NSObject - [BaseType(typeof(NSObject))] - interface ADBMobile - { - // +(NSString * _Nonnull)version; - [Static] - [Export("version")] - string Version(); - - // +(ADBMobilePrivacyStatus)privacyStatus; - [Static] - [Export("privacyStatus")] - ADBMobilePrivacyStatus PrivacyStatus(); - - // +(void)setPrivacyStatus:(ADBMobilePrivacyStatus)status; - [Static] - [Export("setPrivacyStatus:")] - void SetPrivacyStatus(ADBMobilePrivacyStatus status); - - // +(NSDecimalNumber * _Nullable)lifetimeValue; - [Static] - [Export("lifetimeValue")] - [return: NullAllowed] - NSDecimalNumber LifetimeValue(); - - // +(NSString * _Nullable)userIdentifier; - [Static] - [Export("userIdentifier")] - [return: NullAllowed] - string UserIdentifier(); - - // +(void)setUserIdentifier:(NSString * _Nullable)identifier; - [Static] - [Export("setUserIdentifier:")] - void SetUserIdentifier([NullAllowed] string identifier); - - // +(void)setAdvertisingIdentifier:(NSString * _Nullable)identifier; - [Static] - [Export("setAdvertisingIdentifier:")] - void SetAdvertisingIdentifier([NullAllowed] string identifier); - - // +(void)setPushIdentifier:(NSData * _Nullable)deviceToken; - [Static] - [Export("setPushIdentifier:")] - void SetPushIdentifier([NullAllowed] NSData deviceToken); - - // +(BOOL)debugLogging; - [Static] - [Export("debugLogging")] - bool DebugLogging(); - - // +(void)setDebugLogging:(BOOL)debug; - [Static] - [Export("setDebugLogging:")] - void SetDebugLogging(bool debug); - - // +(void)keepLifecycleSessionAlive; - [Static] - [Export("keepLifecycleSessionAlive")] - void KeepLifecycleSessionAlive(); - - // +(void)collectLifecycleData; - [Static] - [Export("collectLifecycleData")] - void CollectLifecycleData(); - - // +(void)collectLifecycleDataWithAdditionalData:(NSDictionary * _Nullable)data; - [Static] - [Export("collectLifecycleDataWithAdditionalData:")] - void CollectLifecycleDataWithAdditionalData([NullAllowed] NSDictionary data); - - // +(void)overrideConfigPath:(NSString * _Nullable)path; - [Static] - [Export("overrideConfigPath:")] - void OverrideConfigPath([NullAllowed] string path); - - // +(void)setAppGroup:(NSString * _Nullable)appGroup; - [Static] - [Export("setAppGroup:")] - void SetAppGroup([NullAllowed] string appGroup); - - // +(void)setAppExtensionType:(ADBMobileAppExtensionType)type; - [Static] - [Export("setAppExtensionType:")] - void SetAppExtensionType(ADBMobileAppExtensionType type); - - // +(void)installTVMLHooks:(TVApplicationController * _Nullable)tvController; -#if __TVOS__ - [Static] - [Export("installTVMLHooks:")] - void InstallTVMLHooks([NullAllowed] TVApplicationController tvController); -#endif - - // +(void)registerAdobeDataCallback:(void (^ _Nullable)(ADBMobileDataEvent, NSDictionary * _Nullable))callback; - [Static] - [Export("registerAdobeDataCallback:")] - void RegisterAdobeDataCallback([NullAllowed] Action callback); - - // +(void)trackState:(NSString * _Nullable)state data:(NSDictionary * _Nullable)data; - [Static] - [Export("trackState:data:")] - void TrackState([NullAllowed] string state, [NullAllowed] NSDictionary data); - - // +(void)trackAction:(NSString * _Nullable)action data:(NSDictionary * _Nullable)data; - [Static] - [Export("trackAction:data:")] - void TrackAction([NullAllowed] string action, [NullAllowed] NSDictionary data); - - // +(void)trackActionFromBackground:(NSString * _Nullable)action data:(NSDictionary * _Nullable)data; - [Static] - [Export("trackActionFromBackground:data:")] - void TrackActionFromBackground([NullAllowed] string action, [NullAllowed] NSDictionary data); - - // +(void)trackLocation:(CLLocation * _Nullable)location data:(NSDictionary * _Nullable)data; - [Static] - [Export("trackLocation:data:")] - void TrackLocation([NullAllowed] CLLocation location, [NullAllowed] NSDictionary data); - -#if !__WATCHOS__ && !__TVOS__ - // +(void)trackBeacon:(CLBeacon * _Nullable)beacon data:(NSDictionary * _Nullable)data; - [Static] - [Export("trackBeacon:data:")] - void TrackBeacon([NullAllowed] CLBeacon beacon, [NullAllowed] NSDictionary data); -#endif - - // +(void)trackingClearCurrentBeacon; - [Static] - [Export("trackingClearCurrentBeacon")] - void TrackingClearCurrentBeacon(); - - // +(void)trackPushMessageClickThrough:(NSDictionary * _Nullable)userInfo; - [Static] - [Export("trackPushMessageClickThrough:")] - void TrackPushMessageClickThrough([NullAllowed] NSDictionary userInfo); - - // +(void)trackLocalNotificationClickThrough:(NSDictionary * _Nullable)userInfo; - [Static] - [Export("trackLocalNotificationClickThrough:")] - void TrackLocalNotificationClickThrough([NullAllowed] NSDictionary userInfo); - - // +(void)trackAdobeDeepLink:(NSURL * _Nullable)url; - [Static] - [Export("trackAdobeDeepLink:")] - void TrackAdobeDeepLink([NullAllowed] NSUrl url); - - // +(void)trackLifetimeValueIncrease:(NSDecimalNumber * _Nullable)amount data:(NSDictionary * _Nullable)data; - [Static] - [Export("trackLifetimeValueIncrease:data:")] - void TrackLifetimeValueIncrease([NullAllowed] NSDecimalNumber amount, [NullAllowed] NSDictionary data); - - // +(void)trackTimedActionStart:(NSString * _Nullable)action data:(NSDictionary * _Nullable)data; - [Static] - [Export("trackTimedActionStart:data:")] - void TrackTimedActionStart([NullAllowed] string action, [NullAllowed] NSDictionary data); - - // +(void)trackTimedActionUpdate:(NSString * _Nullable)action data:(NSDictionary * _Nullable)data; - [Static] - [Export("trackTimedActionUpdate:data:")] - void TrackTimedActionUpdate([NullAllowed] string action, [NullAllowed] NSDictionary data); - - // +(void)trackTimedActionEnd:(NSString * _Nullable)action logic:(BOOL (^ _Nullable)(NSTimeInterval, NSTimeInterval, NSMutableDictionary * _Nullable))block; - [Static] - [Export("trackTimedActionEnd:logic:")] - void TrackTimedActionEnd([NullAllowed] string action, [NullAllowed] Func block); - - // +(BOOL)trackingTimedActionExists:(NSString * _Nullable)action; - [Static] - [Export("trackingTimedActionExists:")] - bool TrackingTimedActionExists([NullAllowed] string action); - - // +(NSString * _Nullable)trackingIdentifier; - [Static] - [Export("trackingIdentifier")] - [return: NullAllowed] - string TrackingIdentifier(); - - // +(void)trackingSendQueuedHits; - [Static] - [Export("trackingSendQueuedHits")] - void TrackingSendQueuedHits(); - - // +(void)trackingClearQueue; - [Static] - [Export("trackingClearQueue")] - void TrackingClearQueue(); - - // +(NSUInteger)trackingGetQueueSize; - [Static] - [Export("trackingGetQueueSize")] - nuint TrackingGetQueueSize(); - - // +(void)acquisitionCampaignStartForApp:(NSString * _Nullable)appId data:(NSDictionary * _Nullable)data; - [Static] - [Export("acquisitionCampaignStartForApp:data:")] - void AcquisitionCampaignStartForApp([NullAllowed] string appId, [NullAllowed] NSDictionary data); - - // +(ADBMediaSettings * _Nonnull)mediaCreateSettingsWithName:(NSString * _Nullable)name length:(double)length playerName:(NSString * _Nullable)playerName playerID:(NSString * _Nullable)playerID; - [Static] - [Export("mediaCreateSettingsWithName:length:playerName:playerID:")] - ADBMediaSettings MediaCreateSettings([NullAllowed] string name, double length, [NullAllowed] string playerName, [NullAllowed] string playerID); - - // +(ADBMediaSettings * _Nonnull)mediaAdCreateSettingsWithName:(NSString * _Nullable)name length:(double)length playerName:(NSString * _Nullable)playerName parentName:(NSString * _Nullable)parentName parentPod:(NSString * _Nullable)parentPod parentPodPosition:(double)parentPodPosition CPM:(NSString * _Nullable)CPM; - [Static] - [Export("mediaAdCreateSettingsWithName:length:playerName:parentName:parentPod:parentPodPosition:CPM:")] - ADBMediaSettings MediaAdCreateSettings([NullAllowed] string name, double length, [NullAllowed] string playerName, [NullAllowed] string parentName, [NullAllowed] string parentPod, double parentPodPosition, [NullAllowed] string CPM); - - // +(void)mediaOpenWithSettings:(ADBMediaSettings * _Nullable)settings callback:(void (^ _Nullable)(ADBMediaState * _Nullable))callback; - [Static] - [Export("mediaOpenWithSettings:callback:")] - void MediaOpenWithSettings([NullAllowed] ADBMediaSettings settings, [NullAllowed] Action callback); - - // +(void)mediaClose:(NSString * _Nullable)name; - [Static] - [Export("mediaClose:")] - void MediaClose([NullAllowed] string name); - - // +(void)mediaPlay:(NSString * _Nullable)name offset:(double)offset; - [Static] - [Export("mediaPlay:offset:")] - void MediaPlay([NullAllowed] string name, double offset); - - // +(void)mediaComplete:(NSString * _Nullable)name offset:(double)offset; - [Static] - [Export("mediaComplete:offset:")] - void MediaComplete([NullAllowed] string name, double offset); - - // +(void)mediaStop:(NSString * _Nullable)name offset:(double)offset; - [Static] - [Export("mediaStop:offset:")] - void MediaStop([NullAllowed] string name, double offset); - - // +(void)mediaClick:(NSString * _Nullable)name offset:(double)offset; - [Static] - [Export("mediaClick:offset:")] - void MediaClick([NullAllowed] string name, double offset); - - // +(void)mediaTrack:(NSString * _Nullable)name data:(NSDictionary * _Nullable)data; - [Static] - [Export("mediaTrack:data:")] - void MediaTrack([NullAllowed] string name, [NullAllowed] NSDictionary data); - - // +(void)targetLoadRequest:(ADBTargetLocationRequest * _Nullable)request callback:(void (^ _Nullable)(NSString * _Nullable))callback; - [Static] - [Export("targetLoadRequest:callback:")] - void TargetLoadRequest([NullAllowed] ADBTargetLocationRequest request, [NullAllowed] Action callback); - - // +(void)targetLoadRequestWithName:(NSString * _Nullable)name defaultContent:(NSString * _Nullable)defaultContent profileParameters:(NSDictionary * _Nullable)profileParameters orderParameters:(NSDictionary * _Nullable)orderParameters mboxParameters:(NSDictionary * _Nullable)mboxParameters callback:(void (^ _Nullable)(NSString * _Nullable))callback; - [Static] - [Export("targetLoadRequestWithName:defaultContent:profileParameters:orderParameters:mboxParameters:callback:")] - void TargetLoadRequest([NullAllowed] string name, [NullAllowed] string defaultContent, [NullAllowed] NSDictionary profileParameters, [NullAllowed] NSDictionary orderParameters, [NullAllowed] NSDictionary mboxParameters, [NullAllowed] Action callback); - - // +(void)targetLoadRequestWithName:(NSString * _Nullable)name defaultContent:(NSString * _Nullable)defaultContent profileParameters:(NSDictionary * _Nullable)profileParameters orderParameters:(NSDictionary * _Nullable)orderParameters mboxParameters:(NSDictionary * _Nullable)mboxParameters requestLocationParameters:(NSDictionary * _Nullable)requestLocationParameters callback:(void (^ _Nullable)(NSString * _Nullable))callback; - [Static] - [Export("targetLoadRequestWithName:defaultContent:profileParameters:orderParameters:mboxParameters:requestLocationParameters:callback:")] - void TargetLoadRequest([NullAllowed] string name, [NullAllowed] string defaultContent, [NullAllowed] NSDictionary profileParameters, [NullAllowed] NSDictionary orderParameters, [NullAllowed] NSDictionary mboxParameters, [NullAllowed] NSDictionary requestLocationParameters, [NullAllowed] Action callback); - - // +(ADBTargetLocationRequest * _Nullable)targetCreateRequestWithName:(NSString * _Nullable)name defaultContent:(NSString * _Nullable)defaultContent parameters:(NSDictionary * _Nullable)parameters; - [Static] - [Export("targetCreateRequestWithName:defaultContent:parameters:")] - [return: NullAllowed] - ADBTargetLocationRequest TargetCreateRequest([NullAllowed] string name, [NullAllowed] string defaultContent, [NullAllowed] NSDictionary parameters); - - // +(ADBTargetLocationRequest * _Nullable)targetCreateOrderConfirmRequestWithName:(NSString * _Nullable)name orderId:(NSString * _Nullable)orderId orderTotal:(NSString * _Nullable)orderTotal productPurchasedId:(NSString * _Nullable)productPurchasedId parameters:(NSDictionary * _Nullable)parameters; - [Static] - [Export("targetCreateOrderConfirmRequestWithName:orderId:orderTotal:productPurchasedId:parameters:")] - [return: NullAllowed] - ADBTargetLocationRequest TargetCreateOrderConfirmRequest([NullAllowed] string name, [NullAllowed] string orderId, [NullAllowed] string orderTotal, [NullAllowed] string productPurchasedId, [NullAllowed] NSDictionary parameters); - - // +(NSString * _Nullable)targetThirdPartyID; - [Static] - [Export("targetThirdPartyID")] - [return: NullAllowed] - string TargetThirdPartyID(); - - // +(void)targetSetThirdPartyID:(NSString * _Nullable)thirdPartyID; - [Static] - [Export("targetSetThirdPartyID:")] - void TargetSetThirdPartyID([NullAllowed] string thirdPartyID); - - // +(void)targetClearCookies; - [Static] - [Export("targetClearCookies")] - void TargetClearCookies(); - - // +(NSString * _Nullable)targetPcID; - [Static] - [Export("targetPcID")] - [return: NullAllowed] - string TargetPcID(); - - // +(NSString * _Nonnull)targetSessionID; - [Static] - [Export("targetSessionID")] - string TargetSessionID(); - - // +(NSDictionary * _Nullable)audienceVisitorProfile; - [Static] - [Export("audienceVisitorProfile")] - [return: NullAllowed] - NSDictionary AudienceVisitorProfile(); - - // +(NSString * _Nullable)audienceDpid; - [Static] - [Export("audienceDpid")] - [return: NullAllowed] - string AudienceDpid(); - - // +(NSString * _Nullable)audienceDpuuid; - [Static] - [Export("audienceDpuuid")] - [return: NullAllowed] - string AudienceDpuuid(); - - // +(void)audienceSetDpid:(NSString * _Nullable)dpid dpuuid:(NSString * _Nullable)dpuuid; - [Static] - [Export("audienceSetDpid:dpuuid:")] - void AudienceSetDpidAndDpuuid([NullAllowed] string dpid, [NullAllowed] string dpuuid); - - // +(void)audienceSignalWithData:(NSDictionary * _Nullable)data callback:(void (^ _Nullable)(NSDictionary * _Nullable))callback; - [Static] - [Export("audienceSignalWithData:callback:")] - void AudienceSignalWithData([NullAllowed] NSDictionary data, [NullAllowed] Action callback); - - // +(void)audienceReset; - [Static] - [Export("audienceReset")] - void AudienceReset(); - - // +(NSString * _Nullable)visitorMarketingCloudID; - [Static] - [Export("visitorMarketingCloudID")] - [return: NullAllowed] - string VisitorMarketingCloudID(); - - // +(void)visitorSyncIdentifiers:(NSDictionary * _Nullable)identifiers; - [Static] - [Export("visitorSyncIdentifiers:")] - void VisitorSyncIdentifiers([NullAllowed] NSDictionary identifiers); - - // +(void)visitorSyncIdentifiers:(NSDictionary * _Nullable)identifiers authenticationState:(ADBMobileVisitorAuthenticationState)authState; - [Static] - [Export("visitorSyncIdentifiers:authenticationState:")] - void VisitorSyncIdentifiers([NullAllowed] NSDictionary identifiers, ADBMobileVisitorAuthenticationState authState); - - // +(void)visitorSyncIdentifierWithType:(NSString * _Nullable)identifierType identifier:(NSString * _Nullable)identifier authenticationState:(ADBMobileVisitorAuthenticationState)authState; - [Static] - [Export("visitorSyncIdentifierWithType:identifier:authenticationState:")] - void VisitorSyncIdentifier([NullAllowed] string identifierType, [NullAllowed] string identifier, ADBMobileVisitorAuthenticationState authState); - - // +(NSArray * _Nullable)visitorGetIDs; - [Static] - [Export("visitorGetIDs")] - [return: NullAllowed] - ADBVisitorID[] VisitorGetIDs(); - - // +(NSURL * _Nullable)visitorAppendToURL:(NSURL * _Nullable)url; - [Static] - [Export("visitorAppendToURL:")] - [return: NullAllowed] - NSUrl VisitorAppendToURL([NullAllowed] NSUrl url); - - // +(void)collectPII:(NSDictionary * _Nullable)data; - [Static] - [Export("collectPII:")] - void CollectPII([NullAllowed] NSDictionary data); - } - - // @interface ADBVisitorID : NSObject - [BaseType(typeof(NSObject))] - interface ADBVisitorID - { - // -(NSString * _Nullable)idType; - [NullAllowed, Export("idType")] - string IdType(); - - // -(NSString * _Nullable)identifier; - [NullAllowed, Export("identifier")] - string Identifier(); - - // -(ADBMobileVisitorAuthenticationState)authenticationState; - [Export("authenticationState")] - ADBMobileVisitorAuthenticationState AuthenticationState(); - } - - [Static] - partial interface Constants - { - // extern NSString *const _Nonnull ADBConfigKeyCallbackDeepLink; - [Field("ADBConfigKeyCallbackDeepLink", "__Internal")] - NSString ADBConfigKeyCallbackDeepLink { get; } - - // extern NSString *const _Nonnull ADBTargetParameterOrderId; - [Field("ADBTargetParameterOrderId", "__Internal")] - NSString ADBTargetParameterOrderId { get; } - - // extern NSString *const _Nonnull ADBTargetParameterOrderTotal; - [Field("ADBTargetParameterOrderTotal", "__Internal")] - NSString ADBTargetParameterOrderTotal { get; } - - // extern NSString *const _Nonnull ADBTargetParameterProductPurchasedId; - [Field("ADBTargetParameterProductPurchasedId", "__Internal")] - NSString ADBTargetParameterProductPurchasedId { get; } - - // extern NSString *const _Nonnull ADBTargetParameterCategoryId; - [Field("ADBTargetParameterCategoryId", "__Internal")] - NSString ADBTargetParameterCategoryId { get; } - - // extern NSString *const _Nonnull ADBTargetParameterMbox3rdPartyId; - [Field("ADBTargetParameterMbox3rdPartyId", "__Internal")] - NSString ADBTargetParameterMbox3rdPartyId { get; } - - // extern NSString *const _Nonnull ADBTargetParameterMboxPageValue; - [Field("ADBTargetParameterMboxPageValue", "__Internal")] - NSString ADBTargetParameterMboxPageValue { get; } - - // extern NSString *const _Nonnull ADBTargetParameterMboxPc; - [Field("ADBTargetParameterMboxPc", "__Internal")] - NSString ADBTargetParameterMboxPc { get; } - - // extern NSString *const _Nonnull ADBTargetParameterMboxSessionId; - [Field("ADBTargetParameterMboxSessionId", "__Internal")] - NSString ADBTargetParameterMboxSessionId { get; } - - // extern NSString *const _Nonnull ADBTargetParameterMboxHost; - [Field("ADBTargetParameterMboxHost", "__Internal")] - NSString ADBTargetParameterMboxHost { get; } - } - - // @interface ADBTargetLocationRequest : NSObject - [BaseType(typeof(NSObject))] - interface ADBTargetLocationRequest - { - // @property (nonatomic, strong) NSString * _Nullable name; - [NullAllowed, Export("name", ArgumentSemantic.Strong)] - string Name { get; set; } - - // @property (nonatomic, strong) NSString * _Nullable defaultContent; - [NullAllowed, Export("defaultContent", ArgumentSemantic.Strong)] - string DefaultContent { get; set; } - - // @property (nonatomic, strong) NSMutableDictionary * _Nullable parameters; - [NullAllowed, Export("parameters", ArgumentSemantic.Strong)] - NSMutableDictionary Parameters { get; set; } - } - - // @interface ADBMediaSettings : NSObject - [BaseType(typeof(NSObject))] - interface ADBMediaSettings - { - // @property (readwrite) _Bool segmentByMilestones; - [Export("segmentByMilestones")] - bool SegmentByMilestones { get; set; } - - // @property (readwrite) _Bool segmentByOffsetMilestones; - [Export("segmentByOffsetMilestones")] - bool SegmentByOffsetMilestones { get; set; } - - // @property (readwrite) double length; - [Export("length")] - double Length { get; set; } - - // @property (nonatomic, strong) NSString * _Nullable channel; - [NullAllowed, Export("channel", ArgumentSemantic.Strong)] - string Channel { get; set; } - - // @property (nonatomic, strong) NSString * _Nullable name; - [NullAllowed, Export("name", ArgumentSemantic.Strong)] - string Name { get; set; } - - // @property (nonatomic, strong) NSString * _Nullable playerName; - [NullAllowed, Export("playerName", ArgumentSemantic.Strong)] - string PlayerName { get; set; } - - // @property (nonatomic, strong) NSString * _Nullable playerID; - [NullAllowed, Export("playerID", ArgumentSemantic.Strong)] - string PlayerID { get; set; } - - // @property (nonatomic, strong) NSString * _Nullable milestones; - [NullAllowed, Export("milestones", ArgumentSemantic.Strong)] - string Milestones { get; set; } - - // @property (nonatomic, strong) NSString * _Nullable offsetMilestones; - [NullAllowed, Export("offsetMilestones", ArgumentSemantic.Strong)] - string OffsetMilestones { get; set; } - - // @property (nonatomic) NSUInteger trackSeconds; - [Export("trackSeconds")] - nuint TrackSeconds { get; set; } - - // @property (nonatomic) NSUInteger completeCloseOffsetThreshold; - [Export("completeCloseOffsetThreshold")] - nuint CompleteCloseOffsetThreshold { get; set; } - - // @property (readwrite) _Bool isMediaAd; - [Export("isMediaAd")] - bool IsMediaAd { get; set; } - - // @property (readwrite) double parentPodPosition; - [Export("parentPodPosition")] - double ParentPodPosition { get; set; } - - // @property (nonatomic, strong) NSString * _Nullable CPM; - [NullAllowed, Export("CPM", ArgumentSemantic.Strong)] - string CPM { get; set; } - - // @property (nonatomic, strong) NSString * _Nullable parentName; - [NullAllowed, Export("parentName", ArgumentSemantic.Strong)] - string ParentName { get; set; } - - // @property (nonatomic, strong) NSString * _Nullable parentPod; - [NullAllowed, Export("parentPod", ArgumentSemantic.Strong)] - string ParentPod { get; set; } - } - - // @interface ADBMediaState : NSObject - [BaseType(typeof(NSObject))] - interface ADBMediaState - { - // @property (readwrite) BOOL ad; - [Export("ad")] - bool Ad { get; set; } - - // @property (readwrite) BOOL clicked; - [Export("clicked")] - bool Clicked { get; set; } - - // @property (readwrite) BOOL complete; - [Export("complete")] - bool Complete { get; set; } - - // @property (readwrite) BOOL eventFirstTime; - [Export("eventFirstTime")] - bool EventFirstTime { get; set; } - - // @property (readwrite) double length; - [Export("length")] - double Length { get; set; } - - // @property (readwrite) double offset; - [Export("offset")] - double Offset { get; set; } - - // @property (readwrite) double percent; - [Export("percent")] - double Percent { get; set; } - - // @property (readwrite) double segmentLength; - [Export("segmentLength")] - double SegmentLength { get; set; } - - // @property (readwrite) double timePlayed; - [Export("timePlayed")] - double TimePlayed { get; set; } - - // @property (readwrite) double timePlayedSinceTrack; - [Export("timePlayedSinceTrack")] - double TimePlayedSinceTrack { get; set; } - - // @property (readwrite) double timestamp; - [Export("timestamp")] - double Timestamp { get; set; } - - // @property (readwrite, copy) NSDate * _Nullable openTime; - [NullAllowed, Export("openTime", ArgumentSemantic.Copy)] - NSDate OpenTime { get; set; } - - // @property (readwrite, copy) NSString * _Nullable name; - [NullAllowed, Export("name")] - string Name { get; set; } - - // @property (readwrite, copy) NSString * _Nullable playerName; - [NullAllowed, Export("playerName")] - string PlayerName { get; set; } - - // @property (readwrite, copy) NSString * _Nullable mediaEvent; - [NullAllowed, Export("mediaEvent")] - string MediaEvent { get; set; } - - // @property (readwrite, copy) NSString * _Nullable segment; - [NullAllowed, Export("segment")] - string Segment { get; set; } - - // @property (readwrite) NSUInteger milestone; - [Export("milestone")] - nuint Milestone { get; set; } - - // @property (readwrite) NSUInteger offsetMilestone; - [Export("offsetMilestone")] - nuint OffsetMilestone { get; set; } - - // @property (readwrite) NSUInteger segmentNum; - [Export("segmentNum")] - nuint SegmentNum { get; set; } - - // @property (readwrite) NSUInteger eventType; - [Export("eventType")] - nuint EventType { get; set; } - } -} diff --git a/sdks/Xamarin/ADBMobile/src/ADBMobile.XamarinIOSExtensionBinding/Properties/AssemblyInfo.cs b/sdks/Xamarin/ADBMobile/src/ADBMobile.XamarinIOSExtensionBinding/Properties/AssemblyInfo.cs deleted file mode 100644 index af645c9f..00000000 --- a/sdks/Xamarin/ADBMobile/src/ADBMobile.XamarinIOSExtensionBinding/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,34 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; - -using Foundation; - -// This attribute allows you to mark your assemblies as “safe to link”. -// When the attribute is present, the linker—if enabled—will process the assembly -// even if you’re using the “Link SDK assemblies only” option, which is the default for device builds. - -[assembly: LinkerSafe] - -// Information about this assembly is defined by the following attributes. -// Change them to the values specific to your project. - -[assembly: AssemblyTitle ("ADBMobile.XamarinIOSExtensionBinding")] -[assembly: AssemblyDescription ("Adobe Mobile SDK for Xamarin iOS Extensions")] -[assembly: AssemblyConfiguration ("")] -[assembly: AssemblyCompany ("Adobe Systems Inc.")] -[assembly: AssemblyProduct ("Adobe Mobile SDK")] -[assembly: AssemblyCopyright ("Copyright 2016 Adobe Systems Incorporated. All Rights Reserved. NOTICE: All information contained herein is, and remains the property of Adobe Systems Incorporated and its suppliers, if any. The intellectual and technical concepts contained herein are proprietary to Adobe Systems Incorporated and its suppliers and are protected by trade secret or copyright law. Dissemination of this information or reproduction of this material is strictly forbidden unless prior written permission is obtained from Adobe Systems Incorporated.")] -[assembly: AssemblyTrademark ("")] -[assembly: AssemblyCulture ("")] - -// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}". -// The form "{Major}.{Minor}.*" will automatically update the build and revision, -// and "{Major}.{Minor}.{Build}.*" will update just the revision. - -[assembly: AssemblyVersion ("4.13.1")] - -// The following attributes are used to specify the signing key for the assembly, -// if desired. See the Mono documentation for more information about signing. - -//[assembly: AssemblyDelaySign(false)] -//[assembly: AssemblyKeyFile("")] diff --git a/sdks/Xamarin/ADBMobile/src/ADBMobile.XamarinIOSExtensionBinding/Structs.cs b/sdks/Xamarin/ADBMobile/src/ADBMobile.XamarinIOSExtensionBinding/Structs.cs deleted file mode 100644 index 5809407a..00000000 --- a/sdks/Xamarin/ADBMobile/src/ADBMobile.XamarinIOSExtensionBinding/Structs.cs +++ /dev/null @@ -1,37 +0,0 @@ -using System; -using ObjCRuntime; - -namespace Com.Adobe.Mobile -{ - [Native] - public enum ADBMobilePrivacyStatus : ulong - { - OptIn = 1, - OptOut = 2, - Unknown = 3 - } - - [Native] - public enum ADBMobileVisitorAuthenticationState : ulong - { - Unknown = 0, - Authenticated = 1, - LoggedOut = 2 - } - - [Native] - public enum ADBMobileAppExtensionType : ulong - { - Regular = 0, - StandAlone = 1 - } - - [Native] - public enum ADBMobileDataEvent : ulong - { - Lifecycle, - AcquisitionInstall, - AcquisitionLaunch, - DeepLink - } -} diff --git a/sdks/Xamarin/ADBMobile/src/ADBMobile.XamarinTvOSBinding/AdobeMobileLibrary_TV.a b/sdks/Xamarin/ADBMobile/src/ADBMobile.XamarinTvOSBinding/AdobeMobileLibrary_TV.a index e5ca6de3..1f4b6593 100644 Binary files a/sdks/Xamarin/ADBMobile/src/ADBMobile.XamarinTvOSBinding/AdobeMobileLibrary_TV.a and b/sdks/Xamarin/ADBMobile/src/ADBMobile.XamarinTvOSBinding/AdobeMobileLibrary_TV.a differ diff --git a/sdks/Xamarin/ADBMobile/src/ADBMobile.XamarinTvOSBinding/Properties/AssemblyInfo.cs b/sdks/Xamarin/ADBMobile/src/ADBMobile.XamarinTvOSBinding/Properties/AssemblyInfo.cs index 1178cbdd..caaa3831 100644 --- a/sdks/Xamarin/ADBMobile/src/ADBMobile.XamarinTvOSBinding/Properties/AssemblyInfo.cs +++ b/sdks/Xamarin/ADBMobile/src/ADBMobile.XamarinTvOSBinding/Properties/AssemblyInfo.cs @@ -17,7 +17,7 @@ [assembly: AssemblyConfiguration ("")] [assembly: AssemblyCompany ("Adobe Systems Inc.")] [assembly: AssemblyProduct ("Adobe Mobile SDK")] -[assembly: AssemblyCopyright ("Copyright 2016 Adobe Systems Incorporated. All Rights Reserved. NOTICE: All information contained herein is, and remains the property of Adobe Systems Incorporated and its suppliers, if any. The intellectual and technical concepts contained herein are proprietary to Adobe Systems Incorporated and its suppliers and are protected by trade secret or copyright law. Dissemination of this information or reproduction of this material is strictly forbidden unless prior written permission is obtained from Adobe Systems Incorporated.")] +[assembly: AssemblyCopyright ("Copyright 2017 Adobe Systems Incorporated. All Rights Reserved. NOTICE: All information contained herein is, and remains the property of Adobe Systems Incorporated and its suppliers, if any. The intellectual and technical concepts contained herein are proprietary to Adobe Systems Incorporated and its suppliers and are protected by trade secret or copyright law. Dissemination of this information or reproduction of this material is strictly forbidden unless prior written permission is obtained from Adobe Systems Incorporated.")] [assembly: AssemblyTrademark ("")] [assembly: AssemblyCulture ("")] @@ -26,7 +26,7 @@ // The form "{Major}.{Minor}.*" will automatically update the build and revision, // and "{Major}.{Minor}.{Build}.*" will update just the revision. -[assembly: AssemblyVersion ("4.13.1")] +[assembly: AssemblyVersion ("4.13.8")] // The following attributes are used to specify the signing key for the assembly, // if desired. See the Mono documentation for more information about signing. diff --git a/sdks/Xamarin/ADBMobile/src/ADBMobile.XamariniOSBinding/AdobeMobileLibrary.a b/sdks/Xamarin/ADBMobile/src/ADBMobile.XamariniOSBinding/AdobeMobileLibrary.a index 1b1bd596..7f8391c7 100644 Binary files a/sdks/Xamarin/ADBMobile/src/ADBMobile.XamariniOSBinding/AdobeMobileLibrary.a and b/sdks/Xamarin/ADBMobile/src/ADBMobile.XamariniOSBinding/AdobeMobileLibrary.a differ diff --git a/sdks/Xamarin/ADBMobile/src/ADBMobile.XamariniOSBinding/Properties/AssemblyInfo.cs b/sdks/Xamarin/ADBMobile/src/ADBMobile.XamariniOSBinding/Properties/AssemblyInfo.cs index ac37ea04..e92b291d 100644 --- a/sdks/Xamarin/ADBMobile/src/ADBMobile.XamariniOSBinding/Properties/AssemblyInfo.cs +++ b/sdks/Xamarin/ADBMobile/src/ADBMobile.XamariniOSBinding/Properties/AssemblyInfo.cs @@ -17,7 +17,7 @@ [assembly: AssemblyConfiguration ("")] [assembly: AssemblyCompany ("Adobe Systems Inc.")] [assembly: AssemblyProduct ("Adobe Mobile SDK")] -[assembly: AssemblyCopyright ("Copyright 2016 Adobe Systems Incorporated. All Rights Reserved. NOTICE: All information contained herein is, and remains the property of Adobe Systems Incorporated and its suppliers, if any. The intellectual and technical concepts contained herein are proprietary to Adobe Systems Incorporated and its suppliers and are protected by trade secret or copyright law. Dissemination of this information or reproduction of this material is strictly forbidden unless prior written permission is obtained from Adobe Systems Incorporated.")] +[assembly: AssemblyCopyright ("Copyright 2017 Adobe Systems Incorporated. All Rights Reserved. NOTICE: All information contained herein is, and remains the property of Adobe Systems Incorporated and its suppliers, if any. The intellectual and technical concepts contained herein are proprietary to Adobe Systems Incorporated and its suppliers and are protected by trade secret or copyright law. Dissemination of this information or reproduction of this material is strictly forbidden unless prior written permission is obtained from Adobe Systems Incorporated.")] [assembly: AssemblyTrademark ("")] [assembly: AssemblyCulture ("")] @@ -25,7 +25,7 @@ // The form "{Major}.{Minor}.*" will automatically update the build and revision, // and "{Major}.{Minor}.{Build}.*" will update just the revision. -[assembly: AssemblyVersion ("4.13.1")] +[assembly: AssemblyVersion ("4.13.8")] // The following attributes are used to specify the signing key for the assembly, // if desired. See the Mono documentation for more information about signing. diff --git a/sdks/Xamarin/ADBMobile/src/AdobeMobileSDKBinding.sln b/sdks/Xamarin/ADBMobile/src/AdobeMobileSDKBinding.sln index b78ea74d..d36d3b6c 100644 --- a/sdks/Xamarin/ADBMobile/src/AdobeMobileSDKBinding.sln +++ b/sdks/Xamarin/ADBMobile/src/AdobeMobileSDKBinding.sln @@ -7,8 +7,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ADBMobile.XamarinIOSBinding EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ADBMobile.XamarinTvOSBinding", "ADBMobile.XamarinTvOSBinding\ADBMobile.XamarinTvOSBinding.csproj", "{5B27E37D-F14C-4FF6-926E-958C9F97315F}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ADBMobile.XamarinIOSExtensionBinding", "ADBMobile.XamarinIOSExtensionBinding\ADBMobile.XamarinIOSExtensionBinding.csproj", "{B5BC46D4-76A1-4C10-B843-51DCFEF795C7}" -EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -27,9 +25,5 @@ Global {5B27E37D-F14C-4FF6-926E-958C9F97315F}.Debug|Any CPU.Build.0 = Debug|Any CPU {5B27E37D-F14C-4FF6-926E-958C9F97315F}.Release|Any CPU.ActiveCfg = Release|Any CPU {5B27E37D-F14C-4FF6-926E-958C9F97315F}.Release|Any CPU.Build.0 = Release|Any CPU - {B5BC46D4-76A1-4C10-B843-51DCFEF795C7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {B5BC46D4-76A1-4C10-B843-51DCFEF795C7}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B5BC46D4-76A1-4C10-B843-51DCFEF795C7}.Release|Any CPU.ActiveCfg = Release|Any CPU - {B5BC46D4-76A1-4C10-B843-51DCFEF795C7}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection EndGlobal diff --git a/sdks/Xamarin/ReleaseNotes.txt b/sdks/Xamarin/ReleaseNotes.txt index 1ff641af..c16bba9c 100644 --- a/sdks/Xamarin/ReleaseNotes.txt +++ b/sdks/Xamarin/ReleaseNotes.txt @@ -5,6 +5,10 @@ Included are notes from the latest major revision to current. For full SDK documentation, please visit: https://marketing.adobe.com/resources/help/en_US/mobile/xamarin/ +4.13.8 (12 Oct, 2017) +- Updated Plugin to use iOS Adobe Mobile Library 4.13.8 +- Updated Plugin to use Android Adobe Mobile Library 4.13.7 + 4.13.1 (20 Oct, 2016) - Updated Plugin to use iOS Adobe Mobile Library 4.13.1 - Updated Plugin to use Android Adobe Mobile Library 4.13.1 diff --git a/sdks/iOS/AdobeMobileLibrary/ADBMobile.h b/sdks/iOS/AdobeMobileLibrary/ADBMobile.h index 319e326a..1352b2a3 100644 --- a/sdks/iOS/AdobeMobileLibrary/ADBMobile.h +++ b/sdks/iOS/AdobeMobileLibrary/ADBMobile.h @@ -2,12 +2,13 @@ // ADBMobile.h // Adobe Digital Marketing Suite -- iOS Application Measurement Library // -// Copyright 1996-2016. Adobe, Inc. All Rights Reserved +// Copyright 1996-2017. Adobe, Inc. All Rights Reserved // -// SDK Version: 4.13.8 +// SDK Version: 4.14.0 #import -@class CLLocation, CLBeacon, TVApplicationController, ADBTargetLocationRequest, ADBMediaSettings, ADBMediaState; +@class CLLocation, CLBeacon, TVApplicationController, +ADBTargetLocationRequest, ADBMediaSettings, ADBMediaState, ADBTargetPrefetchObject, ADBTargetRequestObject; #pragma mark - ADBMobile @@ -18,9 +19,9 @@ * @see setPrivacyStatus */ typedef NS_ENUM(NSUInteger, ADBMobilePrivacyStatus) { - ADBMobilePrivacyStatusOptIn = 1, /*!< Enum value ADBMobilePrivacyStatusOptIn. */ - ADBMobilePrivacyStatusOptOut = 2, /*!< Enum value ADBMobilePrivacyStatusOptOut. */ - ADBMobilePrivacyStatusUnknown = 3 /*!< Enum value ADBMobilePrivacyStatusUnknown. @note only available in conjunction with offline tracking */ + ADBMobilePrivacyStatusOptIn = 1, /*!< Enum value ADBMobilePrivacyStatusOptIn. */ + ADBMobilePrivacyStatusOptOut = 2, /*!< Enum value ADBMobilePrivacyStatusOptOut. */ + ADBMobilePrivacyStatusUnknown = 3 /*!< Enum value ADBMobilePrivacyStatusUnknown. @note only available in conjunction with offline tracking */ }; /** @@ -29,9 +30,9 @@ typedef NS_ENUM(NSUInteger, ADBMobilePrivacyStatus) { * @see visitorSyncIdentifiers */ typedef NS_ENUM(NSUInteger, ADBMobileVisitorAuthenticationState) { - ADBMobileVisitorAuthenticationStateUnknown = 0, /*!< Enum value ADBMobileVisitorAuthenticationStateUnknown. */ - ADBMobileVisitorAuthenticationStateAuthenticated = 1, /*!< Enum value ADBMobileVisitorAuthenticationStateAuthenticated. */ - ADBMobileVisitorAuthenticationStateLoggedOut = 2 /*!< Enum value ADBMobileVisitorAuthenticationStateLoggedOut. */ + ADBMobileVisitorAuthenticationStateUnknown = 0, /*!< Enum value ADBMobileVisitorAuthenticationStateUnknown. */ + ADBMobileVisitorAuthenticationStateAuthenticated = 1, /*!< Enum value ADBMobileVisitorAuthenticationStateAuthenticated. */ + ADBMobileVisitorAuthenticationStateLoggedOut = 2 /*!< Enum value ADBMobileVisitorAuthenticationStateLoggedOut. */ }; /** @@ -40,8 +41,8 @@ typedef NS_ENUM(NSUInteger, ADBMobileVisitorAuthenticationState) { * @see setAppExtensionType */ typedef NS_ENUM(NSUInteger, ADBMobileAppExtensionType) { - ADBMobileAppExtensionTypeRegular = 0, /*!< Enum value ADBMobileAppExtensionTypeRegular. */ - ADBMobileAppExtensionTypeStandAlone = 1 /*!< Enum value ADBMobileAppExtensionTypeStandAlone. */ + ADBMobileAppExtensionTypeRegular = 0, /*!< Enum value ADBMobileAppExtensionTypeRegular. */ + ADBMobileAppExtensionTypeStandAlone = 1 /*!< Enum value ADBMobileAppExtensionTypeStandAlone. */ }; /** @@ -61,7 +62,7 @@ typedef NS_ENUM(NSUInteger, ADBMobileDataEvent) { * Example: NSURL *url = callbackData[ADBConfigKeyCallbackDeepLink]; */ -/* +/* * Used within ADBMobileDataCallback * Key for deep link URL. */ @@ -315,7 +316,7 @@ FOUNDATION_EXPORT NSString *const __nonnull ADBConfigKeyCallbackDeepLink; * @note This method will send a tracking hit if the parameter logic is nil or returns YES. */ + (void) trackTimedActionEnd:(nullable NSString *)action - logic:(nullable BOOL (^)(NSTimeInterval inAppDuration, NSTimeInterval totalDuration, NSMutableDictionary* __nullable data))block; + logic:(nullable BOOL (^)(NSTimeInterval inAppDuration, NSTimeInterval totalDuration, NSMutableDictionary* __nullable data))block; /** * @brief Returns whether or not a timed action is in progress @@ -365,9 +366,9 @@ FOUNDATION_EXPORT NSString *const __nonnull ADBConfigKeyCallbackDeepLink; * @return An ADBMediaSettings pointer. */ + (nonnull ADBMediaSettings *) mediaCreateSettingsWithName:(nullable NSString *)name - length:(double)length - playerName:(nullable NSString *)playerName - playerID:(nullable NSString *)playerID; + length:(double)length + playerName:(nullable NSString *)playerName + playerID:(nullable NSString *)playerID; /** * @brief Creates an ADBMediaSettings populated with the parameters. @@ -380,12 +381,12 @@ FOUNDATION_EXPORT NSString *const __nonnull ADBConfigKeyCallbackDeepLink; * @return An ADBMediaSettings pointer. */ + (nonnull ADBMediaSettings *) mediaAdCreateSettingsWithName:(nullable NSString *)name - length:(double)length - playerName:(nullable NSString *)playerName - parentName:(nullable NSString *)parentName - parentPod:(nullable NSString *)parentPod - parentPodPosition:(double)parentPodPosition - CPM:(nullable NSString *)CPM; + length:(double)length + playerName:(nullable NSString *)playerName + parentName:(nullable NSString *)parentName + parentPod:(nullable NSString *)parentPod + parentPodPosition:(double)parentPodPosition + CPM:(nullable NSString *)CPM; /** * @brief Opens a media item for tracking. @@ -393,7 +394,7 @@ FOUNDATION_EXPORT NSString *const __nonnull ADBConfigKeyCallbackDeepLink; * @param callback a block pointer to call with an ADBMediaState pointer every second. */ + (void) mediaOpenWithSettings:(nullable ADBMediaSettings *)settings - callback:(nullable void (^)(ADBMediaState* __nullable mediaState))callback; + callback:(nullable void (^)(ADBMediaState* __nullable mediaState))callback; /** * @brief Closes a media item. @@ -438,6 +439,70 @@ FOUNDATION_EXPORT NSString *const __nonnull ADBConfigKeyCallbackDeepLink; + (void) mediaTrack:(nullable NSString *)name data:(nullable NSDictionary *)data; #pragma mark - Target +/** + * @brief Creates an ADBTargetPrefetchObject for the given name and mbox parameters + * @param name NSString value representing the name for location/mbox you wish to prefetch + * @param mboxParameters optional dictionary of key-value pairs representing mbox parameters for this request + * @return a pointer to an ADBTargetPrefetchObject containing values provided by the parameters + * @see ADBTargetPrefetchObject + * @see targetPrefetchContentForObjects:withProfileParameters:callback: + */ ++ (nullable ADBTargetPrefetchObject *) targetPrefetchObjectWithName:(nonnull NSString *)name + mboxParameters:(nullable NSDictionary *)mboxParameters; + +/** + * @brief Creates an ADBTargetRequestObject for the given name, default content, mbox parameters, and callback function pointer + * @param name NSString value representing the name for location/mbox you wish to retrieve + * @param defaultContent NSString value returned by the callback if the SDK is unable to retrieve content for the given mbox/location + * @param mboxParameters optional dictionary of key-value pairs representing mbox parameters for this request + * @param callback method which will be invoked once content is available for requested mbox/location + * @return a pointer to an ADBTargetRequestObject containing pre-set values provided by the parameters + * @see ADBTargetRequestObject + * @see targetLoadRequests:withProfileParameters + */ ++ (nullable ADBTargetRequestObject *) targetRequestObjectWithName:(nonnull NSString *)name + defaultContent:(nonnull NSString *)defaultContent + mboxParameters:(nullable NSDictionary *)mboxParameters + callback:(nullable void (^)(NSString* __nullable content))callback; + +/** + * @brief Prefetch multiple Target mboxes simultanously. The content will be cached and returned immediately after + * any prefetched mbox is requested + * @param targetPrefetchObjectArray an array of ADBTargetPrefetchObjects representing the desired mboxes to prefetch + * @param profileParameters a dictionary of key-value pairs used as profile parameters for all prefetch requests + * @param callback a function pointer which will be called after the prefetch is complete. The success parameter + * in the callback will be YES if the prefetch completed successfully + * @see targetPrefetchObjectWithName:mboxParameters: + * @see ADBTargetPrefetchObject + */ ++ (void) targetPrefetchContent:(nonnull NSArray *)targetPrefetchObjectArray + withProfileParameters:(nullable NSDictionary *)profileParameters + callback:(nullable void(^)(BOOL success))callback; + +/** + * @brief Retrieves content for multiple Target Locations at once. The requests parameter contains ADBTargetRequestObject + * objects. Each ADBTargetRequestObject object must have a name and default content. Once content is available for + * the given mbox name, the callback in the ADBTargetRequestObject object will be called with content from Target + * @param requests An array of ADBTargetRequestObject objects that will all be requested at once + * @param profileParameters a dictionary of key-value pairs used as profile parameters for all locations in the requests array + * @see ADBTargetRequestObject + * @see targetRequestObjectWithName:defaultContent:mboxParameters:callback: + */ ++ (void) targetLoadRequests:(nonnull NSArray *)requests + withProfileParameters:(nullable NSDictionary *)profileParameters; + +/** + * @brief Clears data cached by Target Prefetch + */ ++ (void) targetPrefetchClearCache; + +#if TARGET_OS_IOS +/** + * @brief Receives the deeplink url calls the application when target preview experience is selected. + * @param callbackURL that openURL method should be passed for the application to handle. + */ ++ (void) targetPreviewRestartDeepLink:(nullable NSString *)callbackURL; +#endif /** * @brief Processes a Target service request. @@ -456,11 +521,11 @@ FOUNDATION_EXPORT NSString *const __nonnull ADBConfigKeyCallbackDeepLink; * @param callback a block pointer to call with a response string pointer parameter upon completion of the service request. */ + (void) targetLoadRequestWithName:(nullable NSString *)name - defaultContent:(nullable NSString *)defaultContent - profileParameters:(nullable NSDictionary *)profileParameters - orderParameters:(nullable NSDictionary *)orderParameters - mboxParameters:(nullable NSDictionary *)mboxParameters - callback:(nullable void (^)(NSString* __nullable content))callback; + defaultContent:(nullable NSString *)defaultContent + profileParameters:(nullable NSDictionary *)profileParameters + orderParameters:(nullable NSDictionary *)orderParameters + mboxParameters:(nullable NSDictionary *)mboxParameters + callback:(nullable void (^)(NSString* __nullable content))callback; /** * @brief Processes a Target service request. @@ -473,12 +538,12 @@ FOUNDATION_EXPORT NSString *const __nonnull ADBConfigKeyCallbackDeepLink; * @param callback a block pointer to call with a response string pointer parameter upon completion of the service request. */ + (void) targetLoadRequestWithName:(nullable NSString *)name - defaultContent:(nullable NSString *)defaultContent - profileParameters:(nullable NSDictionary *)profileParameters - orderParameters:(nullable NSDictionary *)orderParameters - mboxParameters:(nullable NSDictionary *)mboxParameters - requestLocationParameters:(nullable NSDictionary *)requestLocationParameters - callback:(nullable void (^)(NSString* __nullable content))callback; + defaultContent:(nullable NSString *)defaultContent + profileParameters:(nullable NSDictionary *)profileParameters + orderParameters:(nullable NSDictionary *)orderParameters + mboxParameters:(nullable NSDictionary *)mboxParameters + requestLocationParameters:(nullable NSDictionary *)requestLocationParameters + callback:(nullable void (^)(NSString* __nullable content))callback; /** * @brief Creates a ADBTargetLocationRequest populated with the parameters. @@ -489,8 +554,8 @@ FOUNDATION_EXPORT NSString *const __nonnull ADBConfigKeyCallbackDeepLink; * @see targetLoadRequest:callback: for processing the returned ADBTargetLocationRequest pointer. */ + (nullable ADBTargetLocationRequest *) targetCreateRequestWithName:(nullable NSString *)name - defaultContent:(nullable NSString *)defaultContent - parameters:(nullable NSDictionary *)parameters; + defaultContent:(nullable NSString *)defaultContent + parameters:(nullable NSDictionary *)parameters; /** * @brief Creates a ADBTargetLocationRequest populated with the parameters. @@ -503,10 +568,10 @@ FOUNDATION_EXPORT NSString *const __nonnull ADBConfigKeyCallbackDeepLink; * @see targetLoadRequest:callback: for processing the returned ADBTargetLocationRequest pointer. */ + (nullable ADBTargetLocationRequest *) targetCreateOrderConfirmRequestWithName:(nullable NSString *)name - orderId:(nullable NSString *)orderId - orderTotal:(nullable NSString *)orderTotal - productPurchasedId:(nullable NSString *)productPurchasedId - parameters:(nullable NSDictionary *)parameters; + orderId:(nullable NSString *)orderId + orderTotal:(nullable NSString *)orderTotal + productPurchasedId:(nullable NSString *)productPurchasedId + parameters:(nullable NSDictionary *)parameters; /** * @brief Gets the custom visitor ID for target @@ -665,6 +730,37 @@ FOUNDATION_EXPORT NSString *const __nonnull ADBTargetParameterMboxHost; @end +#pragma mark - ADBTargetPrefetchObject +/** + * @class ADBTargetPrefetchObject + * This class contains the name of the Target location/mbox and a dictionary of mbox parameters to be used in a prefetch + * @see targetPrefetchObjectWithName:mboxParameters: + * @see targetPrefetchContentForObjects:withProfileParameters:callback: + */ +@interface ADBTargetPrefetchObject : NSObject + +@property (nonatomic, strong, nullable) NSString *name; ///< The name of the Target location/mbox +@property (nonatomic, strong, nullable) NSDictionary *mboxParameters; ///< Dictionary containing key-value pairs of mbox parameters +@property (nonatomic, strong, nullable) NSDictionary *productParameters; ///< Dictionary containing key-value pairs of product parameters +@property (nonatomic, strong, nullable) NSDictionary *orderParameters; ///< Dictionary containing key-value pairs of order parameters + +@end + +#pragma mark - ADBTargetRequestObject +/** + * @class ADBTargetRequestObject + * This class extends ADBTargetPrefetchObject, adding default content and a function pointer property which will be + * used as a callback when requesting content from Target + * @see targetRequestObjectWithName:defaultContent:mboxParameters:callback: + * @see targetLoadRequests:withProfileParameters + */ +@interface ADBTargetRequestObject : ADBTargetPrefetchObject + +@property (nonatomic, strong, nonnull) NSString *defaultContent; ///< The default content that will be returned if Target servers are unreachable +@property (nonatomic, strong, nullable) void (^callback)(NSString* __nullable content); ///< Optional. When batch requesting Target locations, callback will be invoked when content is available for this location. + +@end + #pragma mark - ADBMediaSettings /** diff --git a/sdks/iOS/AdobeMobileLibrary/AdobeMobileLibrary.a b/sdks/iOS/AdobeMobileLibrary/AdobeMobileLibrary.a index 7f8391c7..a0aca4ee 100644 Binary files a/sdks/iOS/AdobeMobileLibrary/AdobeMobileLibrary.a and b/sdks/iOS/AdobeMobileLibrary/AdobeMobileLibrary.a differ diff --git a/sdks/iOS/AdobeMobileLibrary/AdobeMobileLibrary_Extension.a b/sdks/iOS/AdobeMobileLibrary/AdobeMobileLibrary_Extension.a index 29a27441..ef26048f 100644 Binary files a/sdks/iOS/AdobeMobileLibrary/AdobeMobileLibrary_Extension.a and b/sdks/iOS/AdobeMobileLibrary/AdobeMobileLibrary_Extension.a differ diff --git a/sdks/iOS/AdobeMobileLibrary/AdobeMobileLibrary_TV.a b/sdks/iOS/AdobeMobileLibrary/AdobeMobileLibrary_TV.a index 1f4b6593..a6cdb8c3 100644 Binary files a/sdks/iOS/AdobeMobileLibrary/AdobeMobileLibrary_TV.a and b/sdks/iOS/AdobeMobileLibrary/AdobeMobileLibrary_TV.a differ diff --git a/sdks/iOS/AdobeMobileLibrary/AdobeMobileLibrary_Watch.a b/sdks/iOS/AdobeMobileLibrary/AdobeMobileLibrary_Watch.a index e3416f67..e92d57ce 100644 Binary files a/sdks/iOS/AdobeMobileLibrary/AdobeMobileLibrary_Watch.a and b/sdks/iOS/AdobeMobileLibrary/AdobeMobileLibrary_Watch.a differ diff --git a/sdks/iOS/ReleaseNotes.txt b/sdks/iOS/ReleaseNotes.txt index 3cc18f32..3415f4c0 100644 --- a/sdks/iOS/ReleaseNotes.txt +++ b/sdks/iOS/ReleaseNotes.txt @@ -5,6 +5,11 @@ Included are notes from the latest major revision to current. For full SDK documentation, please visit: https://marketing.adobe.com/resources/help/en_US/mobile/ios/ +4.14.0 (12 Oct, 2017) +- Target - Support for Target Preview +- Target - Support for Target Prefetch APIs +- General - Updated for iOS 11 + 4.13.8 (17 Aug, 2017) - In App Messaging - Fixed an issue preventing fullscreen messages from being dismissed when the top-most UIWindow has userInteraction disabled - Analytics - Fixed a bug that was allowing unicode characters to be used in contextData keys