microsoft / TemplateStudio

Template Studio accelerates the creation of new WinUI 3, WPF, and UWP apps using a wizard-based experience.
Other
2.68k stars 457 forks source link

New UWP App Project Templates - Ad-enabled UWP Apps #901

Open vivekmo opened 7 years ago

vivekmo commented 7 years ago

Ads-based revenue is one of the primary sources of earnings for developers in any ecosystem. In Windows ecosystem, Microsoft Ads Monetization Platform is the most critical integration that developers can use to increase their ads revenues. We need to make it easier and more visible for the developers to be able to create ad-enabled apps. VS templates are one of the better ways to increase adoption of ad-enabled apps. http://aka.ms/githubads has code samples that can be used to populate these templates. We need 4 ad-enabled templates in WTS:

mrlacey commented 7 years ago

An interesting idea. (I thought we had this as a feature request already but can't find it now so I guess not.)

Need to clarify things a bit more:

vivekmo commented 7 years ago

Hi,

Thanks for the comments as this is the first time I'm making a template request so I might not be thinking of all scenarios.

Q. Why 4 new templates and not add the ability to the existing project types? A. Yes, it may make sense to add just one template with all ad formats stitched in. I just wanted to make it light enough for developers to quickly adopt it. In that respect I wouldn't put IAP enabled template. Q. If adding a "standard banner" where should it/they go? (Need to consider different start pages and project types) A. We have project samples for the ad formats in GitHub http://aka.ms/githubads. Maybe that'll be good starting point for your queries on where should the ad controls go in the template.

mrlacey commented 7 years ago

We will not look to add a new project type just for ads. WTS currently has three project types which are really about the navigational structure of the generated project. These are:

The inclusion of ads will be as a feature (possibly different features for each ad type.) The generated project can include multiple pages and features as selected by the developer.

While the generated project won;t be a final app, the intention is that it should be as complete as possible and in a production ready state. There will always be lots left for the developer to do but if we can do more than including what amounts to a sample page then we absolutely should. I would be disappointed if the best solution we can offer here is the inclusion of a page which just includes same sample code that already exists in the platform samples. Yes having the NuGet references added to the project is a nice bonus but I'd hope we can do more.

For each ad type, we need to consider how these should integrate with the different project types. There might even be needs for multiple options. (Note to self: this will almost certainly include things that WTS doesn't yet support.)

For instance, should a banner ad be added so that it is shown on a single page, or should the same ad be always visible? It's easy to have the same ad visible for Pivot & NavView apps but not for blank apps and so that option shouldn't be available for blank apps. If the ad should be added to a single page, which one? Should we go with the "home"/first page or let the developer specify? If we let them specify, then how? (This will require new UI.) And what about allowing banner ads to be added to more than one page? Then we need to think about where the banner is placed on the page(s) it's added to.

And similar questions for Interstitial and Native ads too...

What should we do if this feature is added to an existing project? Or should we even allow it? I know it would be nice to have this as something that can be added to an existing project but we can't do that if we can't say how it should work.

The generated project will include adaptation code to adjust for displaying on different screen sizes (and by proxy, devices.) As banner ads need to specify dimensions (height & width) there needs to be the consideration for which sizes should be used based on the size of the app window. Just to leave this up to the developer is not good enough.

Should we include any handling of specific ad events? And if we do, what meaningful, useful code can we include in the event handlers? Is just adding some debug info about loading, errors, and refresh enough? - I don't think so, but what could we add that's genuinely going to be widely useful? The minimum I can think of now that seems useful would be to handle error events and point the developer (via a generated comment task) to consider implementing a fallback solution.

Depending on what get's implemented in the templates and the generated code we may need some specific docs relating to what we generate. We'll definitely include a link to general documentation in the wizard description, plus the generated code will also need to include a link to documentation on specifying ApplicationId and AddUnitId (probably this.)

IAP for the removal of ads is a related item and will definitely be requested as a follow on from when this is implemented (plus it will need its own documentation) and so should be a separate (possible extension) to this but is not needed initially.

In terms of moving forward when there are a lot of unanswered questions, I propose we just think about one type of ad first. This narrowing of scope will allow us to focus attention and once we have that working we can look to add the other types in too. My feeling is that Banner ads would be simplest to add and their integration with apps is more standard than the others. I also believe they're the more widely used and generally better understood by developers too. (Having spent 2 years as a developer advocate for AdDuplex has given me some insight here.) In terms of implementation of adding banner ads, for a first iteration let's just include them for all pages on NavView and Tab&Pivot projects (in ShellPage & PivotPage). Yes, excluding anything from blank apps, for now. Feedback on the use of this may help understand what's needed for adding on individual pages. I also think the ad should be displayed fixed at the bottom of the screen. (Specific documentation on putting it elsewhere in the app should also be included in our docs.) Advice on dimensions to use or if general recommendations on placement suggest otherwise will be greatly beneficial here.

crutkas commented 7 years ago

@vivekmo will produce samples of each using WTS so we can see what is required for each. By 9/18 we'll have something,

vivekmo commented 7 years ago

Hi,

I’m working on the samples and should be able to turn around with the first one on Monday/Tuesday.

Thanks Vivek.

From: Clint Rutkas [mailto:notifications@github.com] Sent: Saturday, August 12, 2017 5:42 AM To: Microsoft/WindowsTemplateStudio WindowsTemplateStudio@noreply.github.com Cc: Vivek Mohan Vivek.Mohan@microsoft.com; Mention mention@noreply.github.com Subject: Re: [Microsoft/WindowsTemplateStudio] New UWP App Project Templates - Ad-enabled UWP Apps (#901)

@vivekmohttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fvivekmo&data=02%7C01%7CVivek.Mohan%40microsoft.com%7Caed1c249bcae4331a0fd08d4e116b208%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636380934970050783&sdata=7e7p%2BL9u%2BPB4C8INPE8CYpmMC6byAiND%2BxrxZsZOQ%2Fw%3D&reserved=0 will produce samples of each using WTS so we can see what is required for each. By 9/18 we'll have something,

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2FWindowsTemplateStudio%2Fissues%2F901%23issuecomment-321943769&data=02%7C01%7CVivek.Mohan%40microsoft.com%7Caed1c249bcae4331a0fd08d4e116b208%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636380934970050783&sdata=DVb3VSBhgSHN1DahgBPxsp5SC%2FnsTWKBAkb77QzhyZ8%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAdMBNEee-_zk8fxt8f6Vo-zX1ILN2efZks5sXO21gaJpZM4OrfE8&data=02%7C01%7CVivek.Mohan%40microsoft.com%7Caed1c249bcae4331a0fd08d4e116b208%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636380934970050783&sdata=%2FpTeUPUFu0oHB%2BxsGXXRGCmCtLgr7BoHRI2%2BwkpOcPQ%3D&reserved=0.

vivekmo commented 7 years ago

Hi,

We have company holiday on Tuesday. I’ll send out the samples by Wednesday.

Thanks Vivek.

From: Vivek Mohan Sent: Saturday, August 12, 2017 4:19 PM To: Microsoft/WindowsTemplateStudio reply@reply.github.com; Microsoft/WindowsTemplateStudio WindowsTemplateStudio@noreply.github.com Cc: Mention mention@noreply.github.com Subject: RE: [Microsoft/WindowsTemplateStudio] New UWP App Project Templates - Ad-enabled UWP Apps (#901)

Hi,

I’m working on the samples and should be able to turn around with the first one on Monday/Tuesday.

Thanks Vivek.

From: Clint Rutkas [mailto:notifications@github.com] Sent: Saturday, August 12, 2017 5:42 AM To: Microsoft/WindowsTemplateStudio WindowsTemplateStudio@noreply.github.com<mailto:WindowsTemplateStudio@noreply.github.com> Cc: Vivek Mohan Vivek.Mohan@microsoft.com<mailto:Vivek.Mohan@microsoft.com>; Mention mention@noreply.github.com<mailto:mention@noreply.github.com> Subject: Re: [Microsoft/WindowsTemplateStudio] New UWP App Project Templates - Ad-enabled UWP Apps (#901)

@vivekmohttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fvivekmo&data=02%7C01%7CVivek.Mohan%40microsoft.com%7Caed1c249bcae4331a0fd08d4e116b208%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636380934970050783&sdata=7e7p%2BL9u%2BPB4C8INPE8CYpmMC6byAiND%2BxrxZsZOQ%2Fw%3D&reserved=0 will produce samples of each using WTS so we can see what is required for each. By 9/18 we'll have something,

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2FWindowsTemplateStudio%2Fissues%2F901%23issuecomment-321943769&data=02%7C01%7CVivek.Mohan%40microsoft.com%7Caed1c249bcae4331a0fd08d4e116b208%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636380934970050783&sdata=DVb3VSBhgSHN1DahgBPxsp5SC%2FnsTWKBAkb77QzhyZ8%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAdMBNEee-_zk8fxt8f6Vo-zX1ILN2efZks5sXO21gaJpZM4OrfE8&data=02%7C01%7CVivek.Mohan%40microsoft.com%7Caed1c249bcae4331a0fd08d4e116b208%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636380934970050783&sdata=%2FpTeUPUFu0oHB%2BxsGXXRGCmCtLgr7BoHRI2%2BwkpOcPQ%3D&reserved=0.

vivekmo commented 7 years ago

Hi,

Can you please tell me if this is what you are expecting from my side for each (or any) ad-enabled feature/page?


  1. I started from a “Blank” UWP C# template.

  2. I added the Advertising references (via NuGet)

  3. This is what it looks like: references

  4. I added the AdControl for adding the banner ad slot to the MainPage.xaml. This is what it looks like.

xaml_adcontrol

  1. Then I just built the project and ran it in Local Machine to look like this.

app_screenshot

This should serve for adding an ad-slot for standard banner to any UWP project page. And this slot can be a feature/item at a page level. Please let me know if you need more details.

I think this is what we’ll need for each ad format:

  1. Standard banner – Feature for within a page
  2. Interstitial Banner – new page
  3. Interstitial Video – new page
  4. Native Ads – feature for within a page

Thanks Vivek.

From: Vivek Mohan Sent: Saturday, August 12, 2017 4:19 PM To: Microsoft/WindowsTemplateStudio reply@reply.github.com; Microsoft/WindowsTemplateStudio WindowsTemplateStudio@noreply.github.com Cc: Mention mention@noreply.github.com Subject: RE: [Microsoft/WindowsTemplateStudio] New UWP App Project Templates - Ad-enabled UWP Apps (#901)

Hi,

I’m working on the samples and should be able to turn around with the first one on Monday/Tuesday.

Thanks Vivek.

From: Clint Rutkas [mailto:notifications@github.com] Sent: Saturday, August 12, 2017 5:42 AM To: Microsoft/WindowsTemplateStudio WindowsTemplateStudio@noreply.github.com<mailto:WindowsTemplateStudio@noreply.github.com> Cc: Vivek Mohan Vivek.Mohan@microsoft.com<mailto:Vivek.Mohan@microsoft.com>; Mention mention@noreply.github.com<mailto:mention@noreply.github.com> Subject: Re: [Microsoft/WindowsTemplateStudio] New UWP App Project Templates - Ad-enabled UWP Apps (#901)

@vivekmohttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fvivekmo&data=02%7C01%7CVivek.Mohan%40microsoft.com%7Caed1c249bcae4331a0fd08d4e116b208%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636380934970050783&sdata=7e7p%2BL9u%2BPB4C8INPE8CYpmMC6byAiND%2BxrxZsZOQ%2Fw%3D&reserved=0 will produce samples of each using WTS so we can see what is required for each. By 9/18 we'll have something,

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2FWindowsTemplateStudio%2Fissues%2F901%23issuecomment-321943769&data=02%7C01%7CVivek.Mohan%40microsoft.com%7Caed1c249bcae4331a0fd08d4e116b208%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636380934970050783&sdata=DVb3VSBhgSHN1DahgBPxsp5SC%2FnsTWKBAkb77QzhyZ8%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAdMBNEee-_zk8fxt8f6Vo-zX1ILN2efZks5sXO21gaJpZM4OrfE8&data=02%7C01%7CVivek.Mohan%40microsoft.com%7Caed1c249bcae4331a0fd08d4e116b208%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636380934970050783&sdata=%2FpTeUPUFu0oHB%2BxsGXXRGCmCtLgr7BoHRI2%2BwkpOcPQ%3D&reserved=0.

mrlacey commented 7 years ago

@vivekmo The images in your last post aren't visible on GitHub. Can you please add them there or link to something we can see outside of the email. I'm not sure how what you've done applies to how the inclusion of Ads would work within WTS but am hoping the pictures will make that clear.

vivekmo commented 7 years ago

I updated the comment to add the photos. Can you please check if this is ok and let me know what other details might be required?

references

xaml_adcontrol

app_screenshot

ralarcon commented 6 years ago

@crutkas probably we are not going to have bandwith to aford this. Should we move this to 1.5 or to the backlog?

mrlacey commented 6 years ago

Moved to backlog as haven't even had email about this since August.

crutkas commented 6 years ago

@vivekmo any chance you can provide the samples?

vivekmo commented 6 years ago

Hi Clint,

Thanks for getting back. There was some churn in the team and a re-org. We are now just settling into our RS4 plans and deliverables. Can I get back to you by mid-next week for an ETA of when the samples could be ready? When are your next couple of release cycles and deadlines for receiving the templates from my side?

Thanks Vivek.

From: Clint Rutkas [mailto:notifications@github.com] Sent: Friday, October 27, 2017 10:48 PM To: Microsoft/WindowsTemplateStudio WindowsTemplateStudio@noreply.github.com Cc: Vivek Mohan Vivek.Mohan@microsoft.com; Mention mention@noreply.github.com Subject: Re: [Microsoft/WindowsTemplateStudio] New UWP App Project Templates - Ad-enabled UWP Apps (#901)

@vivekmohttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fvivekmo&data=02%7C01%7CVivek.Mohan%40microsoft.com%7Cfbf14f72bab04a07b4a008d51d5f12f1%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636447216529504050&sdata=%2BpiLqv5glbYe5gP56MKTDJkgxkaEE%2BKgRrBACgQvGAk%3D&reserved=0 any chance you can provide the samples?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2FWindowsTemplateStudio%2Fissues%2F901%23issuecomment-340031954&data=02%7C01%7CVivek.Mohan%40microsoft.com%7Cfbf14f72bab04a07b4a008d51d5f12f1%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636447216529504050&sdata=pd4ZQ0l3lDZhVJ%2BR4PJKbCTHdgzs%2B%2BSnNH8ozDOoEoo%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAdMBNHYfbtiHxD6us6LMwyUFuFpuffdXks5swhBAgaJpZM4OrfE8&data=02%7C01%7CVivek.Mohan%40microsoft.com%7Cfbf14f72bab04a07b4a008d51d5f12f1%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636447216529504050&sdata=O%2BoBwQxYqh1XHfAAt04VIDULjm8SZ0dhWuIRB%2FGW2i8%3D&reserved=0.

crutkas commented 6 years ago

@vivekmo we try to ship once a month.

vivekmo commented 6 years ago

Hey Clint! Thanks for keeping this thread warm. I’m still aiming I’ll be able to get to this by next week end. Things have been crazy here with RS4 planning and closing on RS3 and other stuff. I wanted to get this template feature out by November end but unfortunately am stuck in other priorities.

-- Vivek.

From: Clint Rutkas [mailto:notifications@github.com] Sent: Thursday, November 2, 2017 10:45 PM To: Microsoft/WindowsTemplateStudio WindowsTemplateStudio@noreply.github.com Cc: Vivek Mohan Vivek.Mohan@microsoft.com; Mention mention@noreply.github.com Subject: Re: [Microsoft/WindowsTemplateStudio] New UWP App Project Templates - Ad-enabled UWP Apps (#901)

@vivekmohttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fvivekmo&data=02%7C01%7CVivek.Mohan%40microsoft.com%7Ccae5e91c12f24755c5a208d52215397b%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636452396908748822&sdata=X8ZXXe1O%2FohKmeFNCvu%2BlsV35OoxoTLDGDRdhJ7pPLU%3D&reserved=0 we try to ship once a month.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2FWindowsTemplateStudio%2Fissues%2F901%23issuecomment-341493682&data=02%7C01%7CVivek.Mohan%40microsoft.com%7Ccae5e91c12f24755c5a208d52215397b%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636452396908748822&sdata=EVpN70BuHJQt1fuOiY2YHKvWn7JAlY6GCedhFeUdJ7A%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAdMBNI7CDceWeFEd97ZJFcb-wTnUyOaaks5syfiJgaJpZM4OrfE8&data=02%7C01%7CVivek.Mohan%40microsoft.com%7Ccae5e91c12f24755c5a208d52215397b%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636452396908748822&sdata=p1tBP13gULT7%2FnTy3wgVSTcyTPJgsbZJys9qAtfJXHY%3D&reserved=0.

touseefbsb commented 6 years ago

@vivekmo any progress on this? just trying to keep the thread active though 👍

vivekmo commented 6 years ago

Thanks a lot Touseef for the ping on the thread. We had a recent priority overhaul and we might not get back to this in 1804 as well. I'll let you know as soon as we can get it back in your radar.

Thanks Vivek.

Get Outlook for Androidhttps://aka.ms/ghei36


From: Touseef Malik notifications@github.com Sent: Sunday, March 25, 2018 2:19:37 AM To: Microsoft/WindowsTemplateStudio Cc: Vivek Mohan; Mention Subject: Re: [Microsoft/WindowsTemplateStudio] New UWP App Project Templates - Ad-enabled UWP Apps (#901)

@vivekmohttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fvivekmo&data=02%7C01%7CVivek.Mohan%40microsoft.com%7C7dc0e1354003416cd9da08d591c8c295%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636575213797791316&sdata=lH6bKFmrLPKUeEZ0upmKhLPG4DwZpeFZo4AO7zSwE3w%3D&reserved=0 any progress on this? just trying to keep the thread active though 👍

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2FWindowsTemplateStudio%2Fissues%2F901%23issuecomment-375923918&data=02%7C01%7CVivek.Mohan%40microsoft.com%7C7dc0e1354003416cd9da08d591c8c295%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636575213797791316&sdata=pfMM361PZyudN1wLVH01Km3E%2BBp7OpCIX3BkucdAwrk%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAdMBNHMnpNRY29y7fgZQfvC6wdVHg1YUks5thrFhgaJpZM4OrfE8&data=02%7C01%7CVivek.Mohan%40microsoft.com%7C7dc0e1354003416cd9da08d591c8c295%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636575213797791316&sdata=ASuEGIm%2FqJIkE8TQCn%2Fn3kQQXeEkIopENesMiXDl4ZA%3D&reserved=0.