StoreKit and review guideline update

Starting today, because of a recent United States Court decision, App Store Review Guideline 3.1.1 has been updated to introduce the StoreKit Purchase Link Entitlement (US), which allows apps that offer in-app purchases in the iOS or iPadOS App Store o...
Apple

YouTube Ads Creative Analysis




Posted by Brian Craft, Satish Shreenivasa, Huikun Zhang, Manisha Arora and Paul Cubre – gTech Data Science Team





Introduction

Why analyze YouTube ads?

YouTube has billions of monthly logged-in users and every day people watch billions of hou...
Google

What Is Keep-Alive?

The term “Keep-Alive” may sound like something from a spy thriller, but in the world of web technology, it serves a vital role in improving WordPress website performance and user experience.
The post What Is Keep-Alive? appeared first on Themeisle Blog...
Wordpress

Data Liberation in 2024

Imagine a more open web where people can switch between any platform of their choosing. A web where being locked into a system is a thing of the past. This is the web I’ve always wanted to see. That’s why I announced a new initiative called Data Liberation for 2024. Migrating your site to WordPress, […]
Wordpress

A New Approach to Real-Money Games on Google Play




Posted by Karan Gambhir – Director, Global Trust and Safety Partnerships




As a platform, we strive to help developers responsibly build new businesses and reach wider audiences across a variety of content types and genres. In response to strong d...
Google

Hello Developer: January 2024

Welcome to Hello Developer. In this Apple Vision Pro-themed edition: Find out how to submit your visionOS apps to the App Store, learn how the team behind djay approached designing for the infinite canvas, and get technical answers straight from Apple ...
Apple

Q&A: Building apps for visionOS

Over the past few months, Apple experts have fielded questions about visionOS in Apple Vision Pro developer labs all over the world. Here are answers to some of the most frequent questions they’ve been asked, including insights on new concepts like entities, immersive spaces, collision shapes, and much more.How can I interact with an entity using gestures?There are three important pieces to enabling gesture-based entity interaction:

The entity must have an InputTargetComponent. Otherwise, it won’t receive gesture input at all.
The entity must have a CollisionComponent. The shapes of the collision component define the regions that gestures can actually hit, so make sure the collision shapes are specified appropriately for interaction with your entity.
The gesture that you’re using must be targeted to the entity you’re trying to interact with (or to any entity). For example:
private var tapGesture: some Gesture {
TapGesture()
.targetedToAnyEntity()
.onEnded { gestureValue in

let tappedEntity = gestureValue.entity

print(tappedEntity.name)
}
}It’s also a good idea to give an interactive entity a HoverEffectComponent, which enables the system to trigger a standard highlight effect when the user looks at the entity.Should I use a window group, an immersive space, or both?Consider the technical differences between windows, volumes, and immersive spaces when you decide which scene type to use for a particular feature in your app.
Here are some significant technical differences that you should factor into your decision:

Windows and volumes from other apps the user has open are hidden when an immersive space is open.
Windows and volumes clip content that exceeds their bounds.
Users have full control over the placement of windows and volumes. Apps have full control over the placement of content in an immersive space.
Volumes have a fixed size, windows are resizable.
ARKit only delivers data to your app if it has an open immersive space.

Explore the Hello World sample code to familiarize yourself with the behaviors of each scene type in visionOS.How can I visualize collision shapes in my scene?Use the Collision Shapes debug visualization in the Debug Visualizations menu, where you can find several other helpful debug visualizations as well. For information on debug visualizations, check out Diagnosing issues in the appearance of a running app.Can I position SwiftUI views within an immersive space?Yes! You can position SwiftUI views in an immersive space with the offset(x:y:) and offset(z:) methods. It’s important to remember that these offsets are specified in points, not meters. You can utilize PhysicalMetric to convert meters to points.What if I want to position my SwiftUI views relative to an entity in a reality view?Use the RealityView attachments API to create a SwiftUI view and make it accessible as a ViewAttachmentEntity. This entity can be positioned, oriented, and scaled just like any other entity.RealityView { content, attachments in

// Fetch the attachment entity using the unique identifier.
let attachmentEntity = attachments.entity(for: "uniqueID")!

// Add the attachment entity as RealityView content.
content.add(attachmentEntity)

} attachments: {
// Declare a view that attaches to an entity.
Attachment(id: "uniqueID") {
Text("My Attachment")
}
}Can I position windows programmatically?There’s no API available to position windows, but we’d love to know about your use case. Please file an enhancement request. For more information on this topic, check out Positioning and sizing windows.Is there any way to know what the user is looking at?As noted in Adopting best practices for privacy and user preferences, the system handles camera and sensor inputs without passing the information to apps directly. There's no way to get precise eye movements or exact line of sight. Instead, create interface elements that people can interact with and let the system manage the interaction. If you have a use case that you can't get to work this way, and as long as it doesn't require explicit eye tracking, please file an enhancement request.When are the onHover and onContinuousHover actions called on visionOS?The onHover and onContinuousHover actions are called when a finger is hovering over the view, or when the pointer from a connected trackpad is hovering over the view.Can I show my own immersive environment textures in my app?If your app has an ImmersiveSpace open, you can create a large sphere with an UnlitMaterial and scale it to have inward-facing geometry:struct ImmersiveView: View {
var body: some View {
RealityView { content in
do {
// Create the sphere mesh.
let mesh = MeshResource.generateSphere(radius: 10)

// Create an UnlitMaterial.
var material = UnlitMaterial(applyPostProcessToneMap: false)

// Give the UnlitMaterial your equirectangular color texture.
let textureResource = try await TextureResource(named: "example")
material.color = .init(tint: .white, texture: .init(textureResource))

// Create the model.
let entity = ModelEntity(mesh: mesh, materials: [material])
// Scale the model so that it's mesh faces inward.
entity.scale.x *= -1

content.add(entity)
} catch {
// Handle the error.
}
}
}
}I have existing stereo videos. How can I convert them to MV-HEVC?AVFoundation provides APIs to write videos in MV-HEVC format.
To convert your videos to MV-HEVC:

Create an AVAsset for each of the left and right views.
Use AVOutputSettingsAssistant to get output settings that work for MV-HEVC.
Specify the horizontal disparity adjustment and field of view (this is asset specific). Here’s an example:
var compressionProperties = outputSettings[AVVideoCompressionPropertiesKey] as! [String: Any]

// Specifies the parallax plane.
compressionProperties[kVTCompressionPropertyKey_HorizontalDisparityAdjustment as String] = horizontalDisparityAdjustment

// Specifies the horizontal FOV (90 degrees is chosen in this case.)
compressionProperties[kCMFormatDescriptionExtension_HorizontalFieldOfView as String] = horizontalFOV
Create an AVAssetWriterInputTaggedPixelBufferGroupAdaptor as the input for your AVAssetWriter.
Create an AVAssetReader for each of the left and right video tracks.
Read the left and right tracks, then append matching samples to the tagged pixel buffer group adaptor:
// Create a tagged buffer for each stereoView.
let taggedBuffers: [CMTaggedBuffer] = [
.init(tags: [.videoLayerID(0), .stereoView(.leftEye)], pixelBuffer: leftSample.imageBuffer!),
.init(tags: [.videoLayerID(1), .stereoView(.rightEye)], pixelBuffer: rightSample.imageBuffer!)
]

// Append the tagged buffers to the asset writer input adaptor.
let didAppend = adaptor.appendTaggedBuffers(taggedBuffers,
withPresentationTime: leftSample.presentationTimeStamp)How can I light my scene in RealityKit on visionOS?You can light your scene in RealityKit on visionOS by:

Using a system-provided automatic lighting environment that updates based on real-world surroundings.
Providing your own image-based lighting via an ImageBasedLightComponent. To see an example, create a new visionOS app, select RealityKit as the Immersive Space Renderer, and select Full as the Immersive Space.
I see that CustomMaterial isn’t supported on visionOS. Is there a way I can create materials with custom shading?You can create materials with custom shading in Reality Composer Pro using the Shader Graph. A material created this way is accessible to your app as a ShaderGraphMaterial, so that you can dynamically change inputs to the shader in your code.
For a detailed introduction to the Shader Graph, watch Explore materials in Reality Composer Pro.How can I position entities relative to the position of the device?In an ImmersiveSpace, you can get the full transform of the device using the queryDeviceAnchor(atTimestamp:) method.Learn more about building apps for visionOS









Q&A: Spatial design for visionOS
Get expert advice from the Apple design team on creating experiences for Apple Vision Pro.
View now














Spotlight on: Developing for visionOS
Learn how the developers behind djay, Blackbox, JigSpace, and XRHealth started designing and building apps for Apple Vision Pro.
View now














Spotlight on: Developer tools for visionOS
Learn how developers are using Xcode, Reality Composer Pro, and the visionOS simulator to start building apps for Apple Vision Pro.
View now




Sample code contained herein is provided under the Apple Sample Code License.
Apple

Code, Connect & Learn at Visual Studio LIVE! in Las Vegas.

As an integral part of our Visual Studio community, we’re thrilled to extend a special invitation to Visual Studio LIVE!, from March 3-8, 2024, at the Paris Las Vegas Hotel & Casino. This event is a hub for developers eager to explore the latest features in the IDE plus additional insights from experts in Visual Studio,
The post Code, Connect & Learn at Visual Studio LIVE! in Las Vegas. appeared first on Visual Studio Blog.
Microsoft

8 Ways to Integrate WordPress with Facebook

Facebook is one of the most popular social media platforms, therefore, it’s a great idea to integrate it on your website. In this post, we’ll show you eight ways to integrate WordPress with Facebook. Let’s get started!
The post 8 Ways to Integrate Word...
Wordpress

What’s new with Google Cast?




Posted by Meher Vurimi, Product Manager




Since we launched Google Cast in 2013, we've been working to bring casting capabilities to more apps and devices. We have come a long way. Now, users can cast to many new devices, like TVs, speakers, smart...
Google

2023 – a year of community experiments

As we enter a new year, we wanted to catch you up on several experiments your feedback and participation helped us fine tune over the course of 2023.

A community experiment is when we identify features believed to increase user productivity and happiness,
The post 2023 – a year of community experiments appeared first on Visual Studio Blog.
Microsoft

Google Ads API v13 sunset reminder

Google Ads API v13 will sunset on January 31, 2024. After this date, all v13 API requests will begin to fail. Please migrate to a newer version prior to January 31, 2024 to ensure your API access is unaffected.

We've prepared various resources to help...
Google

Visual Studio Performance Highlights Delivered in 2023

As we step into 2024, we’re taking a moment to look back at the significant performance improvements our team delivered in 2023. Your valuable feedback, active collaboration, and unwavering support have been crucial in enhancing Visual Studio. This past year has been focused on optimizing performance,
The post Visual Studio Performance Highlights Delivered in 2023 appeared first on Visual Studio Blog.
Microsoft

What Is Google Cloud Platform (GCP)?

Google Cloud Platform (GCP) is a powerful cloud computing solution that offers a wide range of services to individuals and organizations. GCP provides a platform for building, deploying, and scaling applications while leveraging Google’s extensive infr...
Wordpress

The Month in WordPress – December 2023

As 2023 came to a close, WordPress bid farewell with the much-anticipated annual State of the Word and the 6.5 roadmap, among other exciting updates. Read on to learn more about the community’s end-of-year celebrations and catch a sneak peek of what’s in store for the year ahead. Highlights from State of the Word On […]
Wordpress

What Is Link Building?

Link building is essential when it comes to having a strong online presence and credibility – it involves getting other websites to link to your website. If you want to succeed as a business owner or a content creator in the digital world, you need to ...
Wordpress

This is over



I'm sure you're all wondering why we have gathered you here today. That's right: it's the
end of year blog post in which we go over what happened in 2023 on Google Search Central,
and have some fun along the way!
...
Google

21 Tips for Using Google Search Console to Grow Website Traffic

Are you wondering how to use Google Search Console to grow your website traffic? Google Search Console is a powerful free tool created by Google to help website owners understand how the search engine sees their websites. Unfortunately, most businesses don’t know how to effectively… Read More »
The post 21 Tips for Using Google Search Console to Grow Website Traffic first appeared on WPBeginner.
Wordpress

9 Best WordPress Dynamic Content Plugins (Expert Pick)

Are you looking for the best WordPress dynamic content plugin? Dynamic content can make your web pages and content a lot more engaging for your visitors. Whether you want to display personalized messages or create conditional content based on user behavior, dynamic content plugins make… Read More »
The post 9 Best WordPress Dynamic Content Plugins (Expert Pick) first appeared on WPBeginner.
Wordpress

Leap into 2024 with these Site Editor Tools

The Site Editor gives you a powerful way to visually create every part of your site and tell your story. It lets you handle everything from big stylistic changes to simple copy updates all in a single place. To help you make the most of this new way to WordPress, here are a few standout […]
Wordpress

How to Create a Custom WordPress Login Page (Ultimate Guide)

Do you want to create a custom WordPress login page for your website? If you run a WordPress membership site or an online store, then many users will often see your login page. Customizing the default WordPress login page allows you to offer a better… Read More »
The post How to Create a Custom WordPress Login Page (Ultimate Guide) first appeared on WPBeginner.
Wordpress

A year of making you more productive using Git in Visual Studio

As we reflect on the past year, it’s clear that the journey of enhancing our Git tooling has been exciting! Our team has been dedicated to increasing GitHub integration, boosting productivity, and addressing valuable feedback from Developer Community. Today, we’re thrilled to share the milestones we’ve achieved and the enhancements that are making your Git experience in Visual Studio smoother and more intuitive.
The post A year of making you more productive using Git in Visual Studio appeared first on Visual Studio Blog.
Microsoft

What Is an Operating System?

You might have encountered the abbreviation OS when learning about computer basics. These letters stand for operating system. What is an operating system? Simply put, an operating system serves as the software that runs a computer, managing its resourc...
Wordpress

What Is the Difference Between TO, CC, and BCC?

One query that often sparks curiosity among email communicators seeking to optimize their correspondence is what is the difference between TO, CC, and BCC? These seemingly simple fields hold the key to effective communication strategies in the digital ...
Wordpress